From 198df660708a877fcf91021579ce9064b1443508 Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 11:52:59 +0800 Subject: [PATCH 1/8] enhance(sdk): remove the `fuzzyArn`, instead use the lazy value from pulumi Before, the type used to construct the permission list was `aws.types.input.iam.GetPolicyDocumentStatement` type, it only allows passing strings as arguments, and we used `fuzzyArn` to build the ARN through string concatenation. This approach is messy and unsafe. Now, we've switched the permission type to `aws.types.input.iam.GetPolicyDocumentStatementArgs`, which allows us to pass lazy values as arguments. This means we can configure the permission using the ARN from the Pulumi resource. --- .../pluto-infra/src/aws/function.lambda.ts | 19 ++++++++++--------- .../pluto-infra/src/aws/kvstore.dynamodb.ts | 6 +----- packages/pluto-infra/src/aws/permission.ts | 8 +++----- packages/pluto-infra/src/aws/queue.sns.ts | 6 +----- packages/pluto-infra/src/aws/sagemaker.ts | 12 ++++-------- 5 files changed, 19 insertions(+), 32 deletions(-) diff --git a/packages/pluto-infra/src/aws/function.lambda.ts b/packages/pluto-infra/src/aws/function.lambda.ts index 3965e953..a374cf37 100644 --- a/packages/pluto-infra/src/aws/function.lambda.ts +++ b/packages/pluto-infra/src/aws/function.lambda.ts @@ -1,5 +1,6 @@ -import * as fs from "fs-extra"; import * as path from "path"; +import * as fs from "fs-extra"; +import assert from "node:assert"; import { Context } from "aws-lambda"; import * as aws from "@pulumi/aws"; import * as pulumi from "@pulumi/pulumi"; @@ -24,7 +25,7 @@ import { } from "@plutolang/pluto"; import { genAwsResourceName } from "@plutolang/pluto/dist/clients/aws"; import { dumpClosureToDir_python, serializeClosureToDir } from "../utils"; -import { currentAwsRegion } from "./utils"; +import { Permission } from "./permission"; export enum Ops { WATCH_LOG = "WATCH_LOG", @@ -37,7 +38,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, private readonly lambda: AwsLambda; private readonly lambdaUrl: aws.lambda.FunctionUrl; private readonly iam: Role; - private readonly statements: aws.types.input.iam.GetPolicyDocumentStatement[]; + private readonly statements: aws.types.input.iam.GetPolicyDocumentStatementArgs[]; public readonly lambdaName: string; public readonly lambdaArn: pulumi.Output; @@ -85,6 +86,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, }); // Serialize the closure with its dependencies to a directory. + assert(process.env.WORK_DIR, "WORK_DIR is not set."); const workdir = path.join(process.env.WORK_DIR!, "assets", `${this.id}}`); fs.rmSync(workdir, { recursive: true, force: true }); fs.ensureDirSync(workdir); @@ -123,7 +125,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, entrypointFilePathP.then(() => { const dependentStatements = closure.dependencies ?.filter((dep) => dep.type === "method") - .map((dep) => dep.resourceObject.grantPermission(dep.operation, this)); + .map((dep) => dep.resourceObject.grantPermission(dep.operation, this) as Permission); if (dependentStatements !== undefined) { this.statements.push(...dependentStatements); } @@ -137,7 +139,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, return this.lambdaUrl.functionUrl as any; } - public grantPermission(op: string): aws.types.input.iam.GetPolicyDocumentStatement { + public grantPermission(op: string): Permission { const WATCH_LOG_ARN = "arn:aws:logs:*:*:*"; switch (op.toUpperCase()) { case Ops.WATCH_LOG: @@ -147,11 +149,10 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, resources: [WATCH_LOG_ARN], }; case Ops.INVOKE: { - const fuzzyArn = `arn:aws:lambda:${currentAwsRegion()}:*:function:${this.lambdaName}`; return { effect: "Allow", actions: ["lambda:InvokeFunction"], - resources: [fuzzyArn], + resources: [this.lambda.arn], }; } default: @@ -238,7 +239,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, } private grantIAMPermission(): void { - const policyDocument = aws.iam.getPolicyDocument( + const policyDocument = aws.iam.getPolicyDocumentOutput( { statements: this.statements, }, @@ -251,7 +252,7 @@ export class Lambda extends pulumi.ComponentResource implements IResourceInfra, name: genAwsResourceName(this.id, "policy"), path: "/", description: "IAM policy", - policy: policyDocument.then((policyDocument) => policyDocument.json), + policy: policyDocument.json, }, { parent: this } ); diff --git a/packages/pluto-infra/src/aws/kvstore.dynamodb.ts b/packages/pluto-infra/src/aws/kvstore.dynamodb.ts index aa03542e..cb6bd282 100644 --- a/packages/pluto-infra/src/aws/kvstore.dynamodb.ts +++ b/packages/pluto-infra/src/aws/kvstore.dynamodb.ts @@ -59,13 +59,9 @@ export class DynamoKVStore return { effect: "Allow", actions: actions, - resources: [this.fuzzyArn()], + resources: [this.arn], }; } public postProcess(): void {} - - private fuzzyArn() { - return `arn:aws:dynamodb:*:*:table/${genAwsResourceName(this.id)}`; - } } diff --git a/packages/pluto-infra/src/aws/permission.ts b/packages/pluto-infra/src/aws/permission.ts index 679488d9..a8ff3440 100644 --- a/packages/pluto-infra/src/aws/permission.ts +++ b/packages/pluto-infra/src/aws/permission.ts @@ -1,5 +1,3 @@ -export interface Permission { - effect: string; - actions: string[]; - resources: string[]; -} +import * as aws from "@pulumi/aws"; + +export type Permission = aws.types.input.iam.GetPolicyDocumentStatementArgs; diff --git a/packages/pluto-infra/src/aws/queue.sns.ts b/packages/pluto-infra/src/aws/queue.sns.ts index 51fbbf9b..11617883 100644 --- a/packages/pluto-infra/src/aws/queue.sns.ts +++ b/packages/pluto-infra/src/aws/queue.sns.ts @@ -77,15 +77,11 @@ export class SNSQueue extends pulumi.ComponentResource implements IResourceInfra return { effect: "Allow", actions: actions, - resources: [this.fuzzyArn()], + resources: [this.topic.arn], }; } public postProcess() {} - - private fuzzyArn() { - return `arn:aws:sns:*:*:${genAwsResourceName(this.id)}`; - } } /** diff --git a/packages/pluto-infra/src/aws/sagemaker.ts b/packages/pluto-infra/src/aws/sagemaker.ts index a489d43c..78735dab 100644 --- a/packages/pluto-infra/src/aws/sagemaker.ts +++ b/packages/pluto-infra/src/aws/sagemaker.ts @@ -15,6 +15,8 @@ export enum SageMakerOps { export class SageMaker extends pulumi.ComponentResource implements IResourceInfra, ISageMakerInfra { public readonly id: string; + private readonly endpoint: aws.sagemaker.Endpoint; + public readonly endpointName: string; constructor(name: string, imageUri: string, options?: SageMakerOptions) { @@ -55,7 +57,7 @@ export class SageMaker extends pulumi.ComponentResource implements IResourceInfr // Define the SageMaker endpoint this.endpointName = genAwsResourceName(this.id, "endpoint"); - new aws.sagemaker.Endpoint( + this.endpoint = new aws.sagemaker.Endpoint( this.endpointName, { name: this.endpointName, @@ -119,15 +121,9 @@ export class SageMaker extends pulumi.ComponentResource implements IResourceInfr return { effect: "Allow", actions: actions, - resources: [this.fuzzyArn()], + resources: [this.endpoint.arn], }; } public postProcess(): void {} - - private fuzzyArn() { - return `arn:aws:sagemaker:${currentAwsRegion()}:*:endpoint/${ - this.endpointName - }`.toLocaleLowerCase(); - } } From 395b319c911ec68c9b9411b43b0a20b12e1fc1ec Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 12:00:37 +0800 Subject: [PATCH 2/8] fix(deducer): incorrectly generate duplicate client statements when one code section accesses a single resource multiple times --- components/deducers/static/src/closure/store-closure.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/deducers/static/src/closure/store-closure.ts b/components/deducers/static/src/closure/store-closure.ts index 5bac0963..f09a2136 100644 --- a/components/deducers/static/src/closure/store-closure.ts +++ b/components/deducers/static/src/closure/store-closure.ts @@ -47,8 +47,14 @@ function generateSourceCode( ): string { let cirCode = imports + "\n"; + const resources = new Set(); // Find the dependencies of this CIR and build corresponding instances. for (const dependentRes of dependentResources) { + if (resources.has(dependentRes.name)) { + continue; + } + resources.add(dependentRes.name); + // TODO: verify if the buildClient function exists. If it does not, use the original statement. cirCode += dependentRes.imports + "\n"; cirCode += `const ${dependentRes.name} = ${dependentRes.type}.buildClient(${dependentRes.parameters});\n`; From fc6a6dc7c9007e681bcc37de715f1da2d4cbff3f Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 14:56:14 +0800 Subject: [PATCH 3/8] feat(sdk): export the table name and partition key of the created dynamodb instance to users --- .../pluto_client/clients/aws/kvstore_dynamodb.py | 14 +++++++++++--- packages/pluto-py/pluto_client/kvstore.py | 12 +++++++++++- packages/pluto-py/pluto_client/sagemaker.py | 9 ++++++--- packages/pluto-py/pyproject.toml | 2 +- packages/pluto/src/clients/aws/kvstore.dynamodb.ts | 10 +++++++++- packages/pluto/src/kvstore.ts | 7 ++++++- packages/pluto/src/sagemaker.aws.ts | 6 +++--- 7 files changed, 47 insertions(+), 13 deletions(-) diff --git a/packages/pluto-py/pluto_client/clients/aws/kvstore_dynamodb.py b/packages/pluto-py/pluto_client/clients/aws/kvstore_dynamodb.py index c2492cf0..bbea197c 100644 --- a/packages/pluto-py/pluto_client/clients/aws/kvstore_dynamodb.py +++ b/packages/pluto-py/pluto_client/clients/aws/kvstore_dynamodb.py @@ -8,11 +8,19 @@ class DynamoKVStore(IKVStoreClient): def __init__(self, name: str, opts: Optional[KVStoreOptions] = None): self.__id = utils.gen_resource_id(KVStore.fqn, name) - table_name = gen_aws_resource_name(self.__id) - self.__client = boto3.resource("dynamodb").Table(table_name) + self.__table_name = gen_aws_resource_name(self.__id) + self.__client = boto3.resource("dynamodb").Table(self.__table_name) + + @property + def aws_table_name(self) -> str: + return self.__table_name + + @property + def aws_partition_key(self) -> str: + return "Id" def get(self, key: str) -> str: - response = self.__client.get_item(Key={"Id": key}) + response = self.__client.get_item(Key={self.aws_partition_key: key}) if "Item" not in response: raise ValueError(f"There is no target key-value pair, Key: {key}.") return response["Item"]["Value"] diff --git a/packages/pluto-py/pluto_client/kvstore.py b/packages/pluto-py/pluto_client/kvstore.py index 2363265d..c05490fc 100644 --- a/packages/pluto-py/pluto_client/kvstore.py +++ b/packages/pluto-py/pluto_client/kvstore.py @@ -15,6 +15,16 @@ class KVStoreOptions: pass +class IKVStoreRegularApi: + @property + def aws_table_name(self) -> str: + raise NotImplementedError + + @property + def aws_partition_key(self) -> str: + raise NotImplementedError + + class IKVStoreClientApi(IResourceClientApi): def get(self, key: str) -> str: raise NotImplementedError @@ -31,7 +41,7 @@ class IKVStoreCapturedProps(IResourceCapturedProps): pass -class IKVStoreClient(IKVStoreClientApi, IKVStoreCapturedProps): +class IKVStoreClient(IKVStoreClientApi, IKVStoreCapturedProps, IKVStoreRegularApi): pass diff --git a/packages/pluto-py/pluto_client/sagemaker.py b/packages/pluto-py/pluto_client/sagemaker.py index f25c3bb4..daba3ec2 100644 --- a/packages/pluto-py/pluto_client/sagemaker.py +++ b/packages/pluto-py/pluto_client/sagemaker.py @@ -49,11 +49,12 @@ class HuggingFaceTaskType(Enum): @dataclass class SageMakerOptions: - instance_type: str = "ml.m5.large" + # The member name must be camelCase to match the name in the infrastructure SDK. + instanceType: str = "ml.m5.large" envs: Optional[Dict[str, Any]] = None -class ISageMakerNormalApi: +class ISageMakerRegularApi: @property def endpoint_name(self) -> str: raise NotImplementedError @@ -69,12 +70,14 @@ class ISageMakerInfraApi(IResourceInfraApi): class ISageMakerCapturedProps(IResourceCapturedProps): + # The method name doesn't have to be CamelCase since it can correctly match environment variable + # names in the implementation. def endpoint_url(self) -> str: raise NotImplementedError class ISageMakerClient( - ISageMakerClientApi, ISageMakerCapturedProps, ISageMakerNormalApi + ISageMakerClientApi, ISageMakerCapturedProps, ISageMakerRegularApi ): pass diff --git a/packages/pluto-py/pyproject.toml b/packages/pluto-py/pyproject.toml index 4c118ed9..e7fcb424 100644 --- a/packages/pluto-py/pyproject.toml +++ b/packages/pluto-py/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "pluto-client" -version = "0.0.3" +version = "0.0.4" description = "The Client Library for Pluto Programming Language." authors = ["Jade Zheng "] license = "Apache-2.0" diff --git a/packages/pluto/src/clients/aws/kvstore.dynamodb.ts b/packages/pluto/src/clients/aws/kvstore.dynamodb.ts index 07f0f9bb..fb8baf7d 100644 --- a/packages/pluto/src/clients/aws/kvstore.dynamodb.ts +++ b/packages/pluto/src/clients/aws/kvstore.dynamodb.ts @@ -23,12 +23,20 @@ export class DynamoKVStore implements IKVStoreClient { opts; } + public get awsTableName(): string { + return this.tableName; + } + + public get awsPartitionKey(): string { + return "Id"; + } + public async get(key: string): Promise { const result = await this.docClient.send( new GetCommand({ TableName: this.tableName, Key: { - Id: key, + [this.awsPartitionKey]: key, }, }) ); diff --git a/packages/pluto/src/kvstore.ts b/packages/pluto/src/kvstore.ts index b19ea86a..6082a19a 100644 --- a/packages/pluto/src/kvstore.ts +++ b/packages/pluto/src/kvstore.ts @@ -15,6 +15,11 @@ import { aws, k8s } from "./clients"; */ export interface KVStoreOptions {} +export interface IKVStoreRegularApi { + readonly awsTableName?: string; + readonly awsPartitionKey?: string; +} + /** * Define the access methods for KVStore that operate during runtime. */ @@ -34,7 +39,7 @@ export interface IKVStoreCapturedProps extends IResourceCapturedProps {} * Construct a type that includes all the necessary methods required to be implemented within the * client implementation class of a resource type. */ -export type IKVStoreClient = IKVStoreClientApi & IKVStoreCapturedProps; +export type IKVStoreClient = IKVStoreClientApi & IKVStoreCapturedProps & IKVStoreRegularApi; /** * Construct a type that includes all the necessary methods required to be implemented within the diff --git a/packages/pluto/src/sagemaker.aws.ts b/packages/pluto/src/sagemaker.aws.ts index 3b69118c..3074f01a 100644 --- a/packages/pluto/src/sagemaker.aws.ts +++ b/packages/pluto/src/sagemaker.aws.ts @@ -61,11 +61,11 @@ export interface SageMakerOptions { /** * The methods of this interface can be used at runtime, but it doesn't belong to Client API or Captured Props. */ -export interface ISageMakerNormalApi { +export interface ISageMakerRegularApi { /** * TODO: There are two bug within current deducer. One is that the deducer doesn't reduce the * repeated dependencies when the closure accesses same resource object multiple times. The other - * is that if the closure only accesses the normal api (not client api, infra api or capatured + * is that if the closure only accesses the regular api (not client api, infra api or capatured * property), the deducer doesn't add the resource object to the dependencies. After the bugs are * fixed, the `endpointUrl` method should be moved from `ISageMakerCapturedProps` to this * interface. @@ -84,7 +84,7 @@ export interface ISageMakerCapturedProps extends IResourceCapturedProps { endpointUrl(): string; } -export type ISageMakerClient = ISageMakerClientApi & ISageMakerCapturedProps & ISageMakerNormalApi; +export type ISageMakerClient = ISageMakerClientApi & ISageMakerCapturedProps & ISageMakerRegularApi; export type ISageMakerInfra = ISageMakerInfraApi & ISageMakerCapturedProps; From 9fe7f9c92e0b5b0ce1c65288802b548504e47413 Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 17:06:29 +0800 Subject: [PATCH 4/8] feat(example): add an example, building a llama2 conversational chatbot with aws and langchain --- ...angchain-llama2-chatbot-sagemaker-arch.png | Bin 0 -> 647642 bytes .../.gitignore | 38 +++ .../.pluto/pluto.yml | 7 + .../README.md | 73 +++++ .../README_zh.md | 74 +++++ .../comparison/application/main.ts | 99 +++++++ .../comparison/pulumi/pulumi.ts | 203 ++++++++++++++ .../comparison/terraform/terraform.tf | 263 ++++++++++++++++++ .../package.json | 23 ++ .../src/index.ts | 182 ++++++++++++ .../tsconfig.json | 35 +++ 11 files changed, 997 insertions(+) create mode 100644 assets/langchain-llama2-chatbot-sagemaker-arch.png create mode 100644 examples/langchain-llama2-chatbot-sagemaker/.gitignore create mode 100644 examples/langchain-llama2-chatbot-sagemaker/.pluto/pluto.yml create mode 100644 examples/langchain-llama2-chatbot-sagemaker/README.md create mode 100644 examples/langchain-llama2-chatbot-sagemaker/README_zh.md create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf create mode 100644 examples/langchain-llama2-chatbot-sagemaker/package.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/src/index.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/tsconfig.json diff --git a/assets/langchain-llama2-chatbot-sagemaker-arch.png b/assets/langchain-llama2-chatbot-sagemaker-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..d99a671708eb2cdd4981970beedca702890e4aae GIT binary patch literal 647642 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

kzC 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 z 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 %pPY1n_>_2c&;dXXemC7^3J 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�HRxC*DeKP?RKN#P;L|^@V!iq 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

ed%v%L^*0NK@ZYnA>UDAzCXzo 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%0A`zs5Y4OjsJr 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®bS zNIuEzK-R4l(YVs$GVsWpI7gGZoZEsspp_fkLOkO+b`2LMi5Dq7@!#+F=dW;0JUKTI zK0l$s&ov-x89opO5p3vqPfWn?+l>nj4ItQ21C(qtgzQQ9zNvdB0fI5l8T_;P_i`c3 z79pa9@`USoF~hMLx);F%wpu79a~^O-a8OVHK@0IbxbY2hjB>;LzFg4be?03CnBU%$ zLj?U~x4M{f)7l|MydmHRgW7r1nyF7``_rj|31wCS<9f1W}a2`uUWx2 zW~eCMJD`#ZAV|Ely-nk{i*Uo-Jr)KnP2``p>Y7Rl7c z@3?vAJ~HbP{RnDZ+5Y(9Pt52GO8?P&S7z6Pzi_KrIT?_^>JTC_UZ( z^1blY0L4Eg=SqoJ4pH7`o;j)VA4dZ?#q3a?vrpT5A_ON_knH~@kJt@6Qx;H)4+zO> zJKAv&2ud`H@hb))uhjNGzk0C{B~p|%#6c(R{@K#|pLhP-3%pRxmt-|&DKfWR5{GcG OFI7biXqo)up#KMDue*x? literal 0 HcmV?d00001 diff --git a/examples/langchain-llama2-chatbot-sagemaker/.gitignore b/examples/langchain-llama2-chatbot-sagemaker/.gitignore new file mode 100644 index 00000000..9e6a4d69 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/.gitignore @@ -0,0 +1,38 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +.pnp +.pnp.js + +# testing +coverage + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# turbo +.turbo + +# vercel +.vercel + +# compilation result +**/dist/ + +# pluto +.pluto/**/state/ +.pluto/*.test.*/ \ No newline at end of file diff --git a/examples/langchain-llama2-chatbot-sagemaker/.pluto/pluto.yml b/examples/langchain-llama2-chatbot-sagemaker/.pluto/pluto.yml new file mode 100644 index 00000000..f985319a --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/.pluto/pluto.yml @@ -0,0 +1,7 @@ +current: dev +language: typescript +stacks: + - configs: {} + name: dev + platformType: AWS + provisionType: Pulumi diff --git a/examples/langchain-llama2-chatbot-sagemaker/README.md b/examples/langchain-llama2-chatbot-sagemaker/README.md new file mode 100644 index 00000000..08731639 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/README.md @@ -0,0 +1,73 @@ +# Building a Llama2 Conversational Chatbot with AWS and LangChain + +In this guide, you'll discover how to create a simple conversational chatbot by integrating Pluto, AWS services, LangChain, and Llama2. We’ll walk you through the architecture components of our example application and how to deploy and operate it using Pluto. + +## Architecture Overview + +![Chatbot Architecture Diagram](../../assets/langchain-llama2-chatbot-sagemaker-arch.png) + +As illustrated above, our example application relies on the following AWS services and resources: + +- **Amazon SageMaker**: Deploying the Llama2 model + - Model, EndpointConfiguration, Endpoint, Role +- **Amazon DynamoDB**: Persisting session messages + - Table +- **AWS Lambda**: Executing backend business logic + - Function, Role, Policy +- **Amazon API Gateway**: Providing an HTTP API endpoint for user access + - Api, Route, Integration, Deployment, Stage + +## Comparison + +The table below shows a comparison between Pluto and other tools regarding the amount and type of code: + +| | Code Type | Lines of Code | +| ----------- | ---------------------------------- | ------------- | +| Application | Business Logic | 79 | +| Pulumi | Infrastructure Configuration | 159 | +| Terraform | Infrastructure Configuration | 201 | +| **Pluto** | **Business Logic + Configuration** | **87** | + +Using Pluto, you can integrate business logic and infrastructure configuration with only an 8-line increase compared to pure business logic code, significantly reducing the amount of code. When building with Pulumi or Terraform, the total lines of code for business logic plus infrastructure configuration reach 238 and 280 lines, respectively, with Pluto's code amounting to only about a third of that. + +## Deployment Steps + +To deploy this chatbot, please follow the steps below: + +1. Install Pluto and configure AWS access credentials. Detailed instructions can be found in the [Pluto Quick Start Guide](https://github.com/pluto-lang/pluto#-quick-start). + +2. Run the following commands in the root directory of the example application to initialize: + + ```bash + npm install + pip install -r requirements.txt + ``` + +3. Replace `HUGGING_FACE_HUB_TOKEN` in the `src/index.ts` file with your Hugging Face Hub Token. If you don’t have a token yet, generate one [here](https://huggingface.co/settings/tokens). + +4. Deploy the application: + + ```bash + pluto deploy + ``` + +Be patient, as deploying the model in SageMaker can take some time. Once the deployment is complete, the console will display the URL for ApiGateway, which you can access via a browser or a curl command. Here is a simple test command: + +```bash +CHATBOT_API_URL=your ApiGateway URL +time curl --get "$CHATBOT_API_URL/chat" \ + --data-urlencode "sessionid=session_1" \ + --data-urlencode "query='What is the capital of China?'" +``` + +By using the same `sessionid`, you can conduct multiple rounds of conversation testing. + +To clean up resources, simply run the `pluto destroy` command in the root directory of the example application. + +## Extending the Example Application + +This example application serves as a basic chatbot, but you can expand it based on your needs to make it more powerful and practical. For instance, you could: + +- **Add custom business logic**: Write more Lambda functions to execute more complex business logic tailored to specific business needs. +- **Integrate additional AWS services**: Take advantage of the wide array of services provided by AWS, such as Amazon SNS as a message queue for asynchronous message processing. +- **Enhance user experience**: Develop a frontend user interface to allow users to interact with the chatbot through a web page or mobile app, rather than solely through API requests. diff --git a/examples/langchain-llama2-chatbot-sagemaker/README_zh.md b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md new file mode 100644 index 00000000..ea370496 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md @@ -0,0 +1,74 @@ +# 基于 AWS 和 LangChain 的 Llama2 会话聊天机器人 + +在本指南中,你将了解如何结合 Pluto、AWS 服务、LangChain 和 Llama2 构建一个简易的会话型聊天机器人。我们将介绍示例应用的架构组件,以及如何使用 Pluto 进行部署和使用。 + +## 架构概览 + +![聊天机器人架构图](../../assets/langchain-llama2-chatbot-sagemaker-arch.png) + +如图所示,该示例应用依赖以下 AWS 服务和资源: + +- **Amazon SageMaker**: 用于部署 Llama2 模型 + - Model, EndpointConfiguration, Endpoint, Role +- **Amazon DynamoDB**: 用来持久化会话消息 + - Table +- **AWS Lambda**: 执行后端业务逻辑 + - Function, Role, Policy +- **Amazon API Gateway**: 提供 HTTP API 端点以供用户访问服务 + - Api, Route, Integration, Deployment, Stage + +## 比较 + +以下表格展示了 Pluto 与其他工具在代码量和类型上的对比: + +| | 代码类型 | 代码量/行 | +| --------- | ------------------- | --------- | +| 应用程序 | 业务逻辑 | 79 | +| Pulumi | 基础设施配置 | 159 | +| Terraform | 基础设施配置 | 201 | +| **Pluto** | **业务逻辑 + 配置** | **87** | + +使用 Pluto 可以整合业务逻辑和基础设施配置,与纯业务逻辑代码相比,仅增加了 8 行代码,显著减少代码量。而采用 Pulumi 或 Terraform 构建时,业务逻辑加基础设施配置的整体代码量分别达到 238 行和 280 行,Pluto 的代码量仅为其约三分之一。 + +## 部署步骤 + +要部署这个聊天机器人,请按照以下步骤操作: + +1. 安装 Pluto 并配置 AWS 访问凭证,详细步骤请参阅 [Pluto 快速开始指南](https://github.com/pluto-lang/pluto#-quick-start)。 + +2. 在示例应用的根目录下运行以下命令进行初始化: + + ```bash + npm install + pip install -r requirements.txt + ``` + +3. 将 `src/index.ts` 文件中的 `HUGGING_FACE_HUB_TOKEN` 修改成你的 Hugging Face Hub Token。如果你还没有 Token,可以在 [这里](https://huggingface.co/settings/tokens) 生成一个。 + +4. 部署应用: + + ```bash + pluto deploy + ``` + +这个过程需要耐心等待一会,因为 SageMaker 部署模型需要一定时间。一旦部署完成,控制台会显示出 ApiGateway 的 URL,你可以通过浏览器或 curl 命令来访问它。以下是一个简单的测试命令: + +```bash +CHATBOT_API_URL=你的 ApiGateway URL +time curl --get "$CHATBOT_API_URL/chat" \ + --data-urlencode "sessionid=session_1" \ + --data-urlencode "query='What is the capital of China?'" +``` + +通过使用相同的 `sessionid`,你可以进行连续的多轮对话测试。 + +如果你想要清理资源,只需要在示例应用根目录执行 `pluto destroy` 命令即可。 + +## 扩展示例应用 + +这个示例应用只是一个简单的聊天机器人,但是你可以根据自己的需求进行扩展,使其更加强大和实用,例如: + +- **增加自定义业务逻辑**:根据特定的业务需求,你可以编写更多的 Lambda 函数,实现更复杂的业务逻辑。 +- **整合更多 AWS 服务**:你可以利用 AWS 提供的丰富服务,例如 Amazon SNS 作为消息队列,实现异步消息处理。 + +- **增强用户体验**:你可以开发一个前端用户界面,让用户能够通过网页或移动应用与聊天机器人互动,而不仅仅是通过 API 请求。 diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts new file mode 100644 index 00000000..ad02bec4 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts @@ -0,0 +1,99 @@ +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +// Replace the following constants with your own values from AWS Console or AWS CLI output. +const SAGEMAKER_ENDPONIT_NAME = "llama-2-7b"; +const DYNAMODB_TABLE_NAME = "chatbot"; +const DYNAMODB_PARTITION_KEY = "Id"; + +class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } +} + +const model = new SageMakerEndpoint({ + endpointName: SAGEMAKER_ENDPONIT_NAME, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: process.env["AWS_REGION"], + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, +}); + +async function handler(event, context) { + const queries = event.queryStringParameters ?? {}; + const sessionId = Array.isArray(queries["sessionid"]) + ? queries["sessionid"][0] + : queries["sessionid"]; + const query = Array.isArray(queries["query"]) ? queries["query"][0] : queries["query"]; + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const memory = new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: DYNAMODB_TABLE_NAME, + partitionKey: DYNAMODB_PARTITION_KEY, + sessionId: sessionId, + }), + }); + + const promptTemplate = PromptTemplate.fromTemplate(`<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>`); + + const llmChain = new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); + + const result = await llmChain.invoke({ query }); + return { + statusCode: 200, + body: result["response"], + }; +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts new file mode 100644 index 00000000..4801269c --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts @@ -0,0 +1,203 @@ +import * as aws from "@pulumi/aws"; +import * as pulumi from "@pulumi/pulumi"; + +// Initialize Pulumi configuration +const config = new pulumi.Config(); +const stageName = config.require("stageName"); +const codeDir = config.require("codeDir"); +const huggingFaceToken = config.requireSecret("huggingFaceToken"); // Use Pulumi's secrets for sensitive data + +// Lambda IAM role policy document +const lambdaPolicyDoc = aws.iam.getPolicyDocumentOutput({ + statements: [ + { + actions: ["sts:AssumeRole"], + effect: "Allow", + principals: [ + { + identifiers: ["lambda.amazonaws.com"], + type: "Service", + }, + ], + }, + ], +}); + +// Lambda IAM role +const lambdaRole = new aws.iam.Role("lambda-role", { + assumeRolePolicy: lambdaPolicyDoc.json, +}); + +// Lambda function +const lambdaFunction = new aws.lambda.Function("lambda-function", { + code: new pulumi.asset.FileArchive(codeDir), + role: lambdaRole.arn, + handler: "main.handler", + runtime: aws.lambda.Runtime.NodeJS18dX, + environment: { + variables: {}, + }, + timeout: 600, // 10 minutes +}); + +// API Gateway +const api = new aws.apigatewayv2.Api("api", { + protocolType: "HTTP", +}); + +// API Gateway integration +const integration = new aws.apigatewayv2.Integration("integration", { + apiId: api.id, + integrationType: "AWS_PROXY", + integrationMethod: "POST", + integrationUri: lambdaFunction.invokeArn, + timeoutMilliseconds: 30000, +}); + +// API Gateway route +const route = new aws.apigatewayv2.Route("route", { + apiId: api.id, + routeKey: "POST /hello", + target: pulumi.interpolate`integrations/${integration.id}`, +}); + +// API Gateway permissions for Lambda +const permission = new aws.lambda.Permission("api-lambda-permission", { + action: "lambda:InvokeFunction", + function: lambdaFunction.name, + principal: "apigateway.amazonaws.com", + sourceArn: pulumi.interpolate`${api.executionArn}/*`, +}); + +// API Gateway deployment +const deployment = new aws.apigatewayv2.Deployment( + "deployment", + { + apiId: api.id, + }, + { dependsOn: [route] } +); + +// API Gateway stage +const stage = new aws.apigatewayv2.Stage( + "api-stage", + { + apiId: api.id, + deploymentId: deployment.id, + name: stageName, + accessLogSettings: { + destinationArn: pulumi.interpolate`${ + new aws.cloudwatch.LogGroup("api-loggroup", { + retentionInDays: 7, + }).arn + }`, + format: `$context.identity.sourceIp - - [$context.requestTime] "$context.httpMethod $context.routeKey $context.protocol" $context.status $context.responseLength $context.requestId $context.integrationErrorMessage $context.error.messageString $context.error.responseType`, + }, + }, // Depends on deployment to ensure the API stage is created after deployment + { dependsOn: [deployment] } +); + +// SageMaker execution role +const sageMakerExecutionRole = new aws.iam.Role("sagemaker-role", { + assumeRolePolicy: JSON.stringify({ + Version: "2012-10-17", + Statement: [ + { + Action: "sts:AssumeRole", + Effect: "Allow", + Principal: { + Service: "sagemaker.amazonaws.com", + }, + }, + ], + }), +}); + +// SageMaker policy attachment +new aws.iam.RolePolicyAttachment("sagemaker-policy-attachment", { + role: sageMakerExecutionRole.name, + policyArn: "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess", +}); + +// SageMaker model +const sagemakerModel = new aws.sagemaker.Model("sagemaker-model", { + executionRoleArn: sageMakerExecutionRole.arn, + primaryContainer: { + image: + "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:pytorch-1.7.1-transformers-4.6.1-gpu-py36-cu110-ubuntu18.04", + environment: { + HF_MODEL_ID: "meta-llama/Llama-2-7b-chat-hf", + HF_TASK: "text-classification", + HUGGING_FACE_HUB_TOKEN: huggingFaceToken, + }, + }, +}); + +// SageMaker endpoint configuration +const endpointConfig = new aws.sagemaker.EndpointConfiguration("sagemaker-endpoint-config", { + productionVariants: [ + { + instanceType: "ml.g5.2xlarge", + modelName: sagemakerModel.name, + initialInstanceCount: 1, + variantName: "AllTraffic", + }, + ], +}); + +// SageMaker endpoint +const sagemakerEndpoint = new aws.sagemaker.Endpoint("sagemaker-endpoint", { + endpointConfigName: endpointConfig.name, +}); + +// DynamoDB table +const dynamoDbTable = new aws.dynamodb.Table("dynamodb-table", { + attributes: [ + { + name: "Id", + type: "S", + }, + ], + hashKey: "Id", + billingMode: "PAY_PER_REQUEST", + readCapacity: 10, + writeCapacity: 10, +}); + +// IAM policy for Lambda function to access DynamoDB and SageMaker +const policyDocument = aws.iam.getPolicyDocumentOutput({ + statements: [ + { + actions: ["dynamodb:*"], + effect: "Allow", + resources: [dynamoDbTable.arn], + }, + { + actions: ["sagemaker:InvokeEndpoint"], + effect: "Allow", + resources: [sagemakerEndpoint.arn], + }, + ], +}); + +// IAM policy +const lambdaAccessPolicy = new aws.iam.Policy("lambda-access-policy", { + path: "/", + description: "Policy for Lambda Function to access resources", + policy: policyDocument.json, +}); + +// Attach the IAM policy to Lambda role +new aws.iam.RolePolicyAttachment("lambda-policy-attachment", { + role: lambdaRole.name, + policyArn: lambdaAccessPolicy.arn, +}); + +// Export the API endpoint URL +export const apiEndpointUrl = api.apiEndpoint; + +// Export the SageMaker endpoint name +export const sagemakerEndpointName = sagemakerEndpoint.name; + +// Export the DynamoDB table name +export const dynamoDbTableName = dynamoDbTable.name; diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf b/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf new file mode 100644 index 00000000..114d1eec --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf @@ -0,0 +1,263 @@ +terraform { + required_version = ">= 0.12" + + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 3.0" + } + } +} + +provider "aws" { + region = "us-east-1" +} + +# Initialize Terraform variables +variable "stageName" { + type = string + description = "The name of the stage for the API Gateway." +} + +variable "codeDir" { + type = string + description = "The directory where the Lambda function code is located." +} + +variable "huggingFaceToken" { + type = string + description = "Secret token for Hugging Face API." + sensitive = true +} + +# Use locals for common tags +locals { + common_tags = { + ManagedBy = "Terraform" + } +} + +# Lambda IAM role policy document +data "aws_iam_policy_document" "lambda_assume_role_policy" { + statement { + actions = ["sts:AssumeRole"] + effect = "Allow" + principals { + type = "Service" + identifiers = ["lambda.amazonaws.com"] + } + } +} + +# Lambda IAM role +resource "aws_iam_role" "lambda_role" { + name = "lambda-role" + assume_role_policy = data.aws_iam_policy_document.lambda_assume_role_policy.json + tags = local.common_tags +} + +# Lambda function +resource "aws_lambda_function" "lambda_function" { + function_name = "lambda-function" + handler = "main.handler" + role = aws_iam_role.lambda_role.arn + runtime = "nodejs18.x" + + source_code_hash = filebase64sha256("${var.codeDir}/lambda.zip") + filename = "${var.codeDir}/lambda.zip" + + environment { + variables = { + HUGGING_FACE_TOKEN = var.huggingFaceToken + } + } + + timeout = 600 # 10 minutes + tags = local.common_tags +} + +# API Gateway +resource "aws_apigatewayv2_api" "api" { + name = "api" + protocol_type = "HTTP" + tags = local.common_tags +} + +# API Gateway integration +resource "aws_apigatewayv2_integration" "integration" { + api_id = aws_apigatewayv2_api.api.id + integration_type = "AWS_PROXY" + integration_method = "POST" + integration_uri = aws_lambda_function.lambda_function.invoke_arn + timeout_milliseconds = 30000 +} + +# API Gateway route +resource "aws_apigatewayv2_route" "route" { + api_id = aws_apigatewayv2_api.api.id + route_key = "POST /hello" + target = "integrations/${aws_apigatewayv2_integration.integration.id}" +} + +# API Gateway permissions for Lambda +resource "aws_lambda_permission" "api_lambda_permission" { + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.lambda_function.function_name + principal = "apigateway.amazonaws.com" + source_arn = "${aws_apigatewayv2_api.api.execution_arn}/*" +} + +# API Gateway deployment +resource "aws_apigatewayv2_deployment" "deployment" { + api_id = aws_apigatewayv2_api.api.id + # A lifecycle block is used to ensure the deployment is re-created when the route changes + lifecycle { + create_before_destroy = true + } + depends_on = [ + aws_apigatewayv2_route.route + ] +} + +# API Gateway stage +resource "aws_apigatewayv2_stage" "stage" { + api_id = aws_apigatewayv2_api.api.id + name = var.stageName + deployment_id = aws_apigatewayv2_deployment.deployment.id + + access_log_settings { + destination_arn = aws_cloudwatch_log_group.api_loggroup.arn + format = "$context.identity.sourceIp - - [$context.requestTime] \"$context.httpMethod $context.routeKey $context.protocol\" $context.status $context.responseLength $context.requestId $context.integrationErrorMessage $context.error.messageString $context.error.responseType" + } + + tags = local.common_tags +} + +# CloudWatch log group for API Gateway +resource "aws_cloudwatch_log_group" "api_loggroup" { + name = "api-loggroup" + retention_in_days = 7 + tags = local.common_tags +} + +# SageMaker execution role +resource "aws_iam_role" "sagemaker_role" { + name = "sagemaker-role" + assume_role_policy = jsonencode({ + Version = "2012-10-17", + Statement = [{ + Action = "sts:AssumeRole", + Effect = "Allow", + Principal = { + Service = "sagemaker.amazonaws.com" + } + }] + }) + tags = local.common_tags +} + +# SageMaker policy attachment +resource "aws_iam_role_policy_attachment" "sagemaker_policy_attachment" { + role = aws_iam_role.sagemaker_role.name + policy_arn = "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess" +} + +# SageMaker model +resource "aws_sagemaker_model" "sagemaker_model" { + name = "sagemaker-model" + execution_role_arn = aws_iam_role.sagemaker_role.arn + + primary_container { + image = "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:pytorch-1.7.1-transformers-4.6.1-gpu-py36-cu110-ubuntu18.04" + environment = { + HF_MODEL_ID = "meta-llama/Llama-2-7b-chat-hf" + HF_TASK = "text-classification" + // Sensitive data is referenced through variables and marked as sensitive + HUGGING_FACE_HUB_TOKEN = var.huggingFaceToken + } + } + tags = local.common_tags +} + +# SageMaker endpoint configuration +resource "aws_sagemaker_endpoint_configuration" "endpoint_config" { + name = "sagemaker-endpoint-config" + + production_variants { + instance_type = "ml.g5.2xlarge" + model_name = aws_sagemaker_model.sagemaker_model.name + initial_instance_count = 1 + variant_name = "AllTraffic" + } + tags = local.common_tags +} + +# SageMaker endpoint +resource "aws_sagemaker_endpoint" "sagemaker_endpoint" { + name = "sagemaker-endpoint" + endpoint_config_name = aws_sagemaker_endpoint_configuration.endpoint_config.name + tags = local.common_tags +} + +# DynamoDB table +resource "aws_dynamodb_table" "dynamodb_table" { + name = "dynamodb-table" + billing_mode = "PAY_PER_REQUEST" + hash_key = "Id" + + attribute { + name = "Id" + type = "S" + } + tags = local.common_tags +} + +# IAM policy for Lambda function to access DynamoDB and SageMaker +data "aws_iam_policy_document" "lambda_access_policy_doc" { + statement { + actions = [ + "dynamodb:GetItem", + "dynamodb:PutItem", + "dynamodb:UpdateItem" + ] + effect = "Allow" + resources = [aws_dynamodb_table.dynamodb_table.arn] + } + + statement { + actions = ["sagemaker:InvokeEndpoint"] + effect = "Allow" + resources = [aws_sagemaker_endpoint.sagemaker_endpoint.arn] + } +} + +# IAM policy +resource "aws_iam_policy" "lambda_access_policy" { + name = "lambda-access-policy" + policy = data.aws_iam_policy_document.lambda_access_policy_doc.json + description = "IAM policy for Lambda to access DynamoDB and SageMaker" + tags = local.common_tags +} + +# Attach the IAM policy to Lambda role +resource "aws_iam_role_policy_attachment" "lambda_policy_attachment" { + role = aws_iam_role.lambda_role.name + policy_arn = aws_iam_policy.lambda_access_policy.arn +} + +# Outputs +output "api_endpoint_url" { + value = aws_apigatewayv2_api.api.api_endpoint + description = "The URL of the API endpoint." +} + +output "sagemaker_endpoint_name" { + value = aws_sagemaker_endpoint.sagemaker_endpoint.name + description = "The name of the SageMaker endpoint." +} + +output "dynamodb_table_name" { + value = aws_dynamodb_table.dynamodb_table.name + description = "The name of the DynamoDB table." +} + diff --git a/examples/langchain-llama2-chatbot-sagemaker/package.json b/examples/langchain-llama2-chatbot-sagemaker/package.json new file mode 100644 index 00000000..597e5d37 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/package.json @@ -0,0 +1,23 @@ +{ + "name": "langchain-llama2-chatbot-sagemaker", + "version": "0.0.0", + "scripts": { + "test:dev": "pluto test --sim", + "test:prod": "pluto test", + "deploy": "pluto deploy", + "destroy": "pluto destroy" + }, + "dependencies": { + "@langchain/community": "^0.0.33", + "@plutolang/pluto": "latest", + "langchain": "^0.1.23" + }, + "devDependencies": { + "@plutolang/base": "latest", + "@plutolang/pluto-infra": "latest", + "@pulumi/pulumi": "^3.88.0", + "@types/node": "^20", + "typescript": "^5.2.2" + }, + "main": "dist/index.js" +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/src/index.ts b/examples/langchain-llama2-chatbot-sagemaker/src/index.ts new file mode 100644 index 00000000..1f882868 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/src/index.ts @@ -0,0 +1,182 @@ +import { SageMaker, KVStore, Router, HttpRequest, HttpResponse } from "@plutolang/pluto"; +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +/** + * Deploy the Llama2 model on AWS SageMaker using the Hugging Face Text Generation Inference (TGI) + * container. Here will deploy the TinyLlama-1.1B-Chat-v1.0 model, which can be run on the + * ml.m5.xlarge instance. + * + * Below is a set up minimum requirements for each model size of Llama2 model: + * ``` + * Model Instance Type Quantization # of GPUs per replica + * Llama 7B ml.g5.2xlarge - 1 + * Llama 13B ml.g5.12xlarge - 4 + * Llama 70B ml.g5.48xlarge bitsandbytes 8 + * Llama 70B ml.p4d.24xlarge - 8 + * ``` + * The initial limit set for these instances is zero. If you need more, you can request an increase + * in quota via the [AWS Management Console](https://console.aws.amazon.com/servicequotas/home). + */ +const sagemaker = new SageMaker( + "llama-2-7b", + "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04", + { + // instanceType: "ml.m5.xlarge", + instanceType: "ml.g5.2xlarge", + envs: { + HF_MODEL_ID: "meta-llama/Llama-2-7b-chat-hf", + // HF_MODEL_ID: "TinyLlama/TinyLlama-1.1B-Chat-v1.0", + HF_TASK: "text-generation", + // If you want to deploy the Meta Llama2 model, you need to request a permission and prepare the + // token. You can get the token from https://huggingface.co/settings/tokens + HUGGING_FACE_HUB_TOKEN: "hf_EmXPwpnyHoNrxxxxxxxxx", + }, + } +); + +const router = new Router("chatbot"); +const conversions = new KVStore("conversions"); + +/** + * TODO: Given the constraints of the current version of Deducer, we have to place the following + * code within the separated function. Once we've upgraded Deducer, it'll be necessary to move this + * code outside of the function. + */ +async function createSageMakerModel() { + // Custom for whatever model you'll be using + class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } + } + + return new SageMakerEndpoint({ + endpointName: sagemaker.endpointName, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: process.env["AWS_REGION"], + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, + }); + + // TODO: Use the following statement to help the deducer identify the right relationship between + // Lambda and SageMaker. This will be used to grant permission for the Lambda instance to call + // upon the SageMaker endpoint. This code should be removed after the deducer supports the + // analysis of libraries. + // TODO: bug: only asynchrous function can be successfully analyzed by deducer. + await sagemaker.invoke({}); +} + +/** + * The ApiGateway comes with a built-in 30-second timeout limit, which unfortunately, can't be + * increased. This means if the generation process takes longer than this half-minute window, we'll + * end up getting hit with a 503 Service Unavailable error. Consequently, if your instance can't + * meet the requirements of the Llama2 model, you'll encounter a 503 error. To avoid this, you can + * directly use the Lambda function to handle the requests. + * + * For more details, check out: + * https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html + * + * You can send a POST HTTP request to the Lambda function using curl or Postman. The request body + * needs to be set as an array representing the function's arguments. Here's an example of a curl + * request: + * ```sh + * curl -X POST https://.lambda-url..on.aws/ \ + * -H "Content-Type: application/json" \ + * -d '["sessionid", "What is the capital of France?"]' + * ``` + * If you get an error message such as `{"code":400,"body":"Payload should be an array."}`, you can + * add a query parameter, such as `?n=1`, to the URL to resolve it. I don't know why it turns into a + * GET request when I don't include the query parameter, even though the curl log indicates it's a + * POST request. If you know the reason, please let me know. + */ + +/** + * The following code is creating a chain for the chatbot task. It can answer the user-provided question. + */ +router.get("/chat", async (req: HttpRequest): Promise => { + const sessionId = Array.isArray(req.query["sessionid"]) + ? req.query["sessionid"][0] + : req.query["sessionid"]; + const query = Array.isArray(req.query["query"]) ? req.query["query"][0] : req.query["query"]; + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const result = await chat(sessionId, query); + return { + statusCode: 200, + body: result, + }; +}); + +async function chat(sessionId: string, query: string) { + const memory = new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: conversions.awsTableName!, + partitionKey: conversions.awsPartitionKey!, + sessionId: sessionId, + }), + }); + + const model = await createSageMakerModel(); + + const promptTemplate = PromptTemplate.fromTemplate(`<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>`); + + const llmChain = new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); + + const result = await llmChain.invoke({ query }); + return result["response"]; + + await conversions.get("placeholder"); + await conversions.set("placeholder", "placeholder"); +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/tsconfig.json b/examples/langchain-llama2-chatbot-sagemaker/tsconfig.json new file mode 100644 index 00000000..957dddad --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/tsconfig.json @@ -0,0 +1,35 @@ +{ + "compilerOptions": { + "rootDir": "./src", + "outDir": "./dist", + "alwaysStrict": true, + "declaration": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "inlineSourceMap": true, + "inlineSources": true, + "lib": [ + "es2019" + ], + "module": "CommonJS", + "noEmitOnError": false, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "stripInternal": true, + "target": "ES2019" + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} From daa6ef920bc38f3e12a1dee8481b97b4349ce3e1 Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 17:19:18 +0800 Subject: [PATCH 5/8] chore: add changeset --- .changeset/brave-countries-build.md | 5 +++++ .changeset/breezy-cats-mate.md | 5 +++++ .changeset/config.json | 3 ++- .changeset/tough-swans-behave.md | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 .changeset/brave-countries-build.md create mode 100644 .changeset/breezy-cats-mate.md create mode 100644 .changeset/tough-swans-behave.md diff --git a/.changeset/brave-countries-build.md b/.changeset/brave-countries-build.md new file mode 100644 index 00000000..04b72212 --- /dev/null +++ b/.changeset/brave-countries-build.md @@ -0,0 +1,5 @@ +--- +"@plutolang/pluto-infra": patch +--- + +enhance(sdk): remove the fuzzyArn, instead use the lazy value from pulumi. diff --git a/.changeset/breezy-cats-mate.md b/.changeset/breezy-cats-mate.md new file mode 100644 index 00000000..a5af5cc8 --- /dev/null +++ b/.changeset/breezy-cats-mate.md @@ -0,0 +1,5 @@ +--- +"@plutolang/pluto": patch +--- + +feat(sdk): export the table name and partition key of the created dynamodb instance to users diff --git a/.changeset/config.json b/.changeset/config.json index 4d1fa8c6..0eb6f376 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -15,6 +15,7 @@ "quickstart", "gpt2-hf-sagemaker", "langchain-llama2-sagemaker", - "quickstart-python" + "quickstart-python", + "langchain-llama2-chatbot-sagemaker" ] } diff --git a/.changeset/tough-swans-behave.md b/.changeset/tough-swans-behave.md new file mode 100644 index 00000000..9aadac30 --- /dev/null +++ b/.changeset/tough-swans-behave.md @@ -0,0 +1,5 @@ +--- +"@plutolang/static-deducer": patch +--- + +fix(deducer): incorrectly generate duplicate client statements when one code section accesses a single resource multiple times From d41136ec69c273789ba0b27a31f8d6c1c05ee43a Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Fri, 22 Mar 2024 17:35:13 +0800 Subject: [PATCH 6/8] fix(ci): missing python environment --- .github/workflows/release.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd7cb3fe..05ef487d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,10 @@ jobs: with: node-version: 20.x + - uses: actions/setup-python@v5 + with: + python-version: "3.10" + - name: Setup PNPM uses: pnpm/action-setup@v2 with: @@ -38,7 +42,7 @@ jobs: run: bash scripts/prepare.sh - name: Install Dependencies - run: pnpm install + run: pnpm install && pip install -r requirements.txt - name: Creating .npmrc run: | From 80591c8f339073208e8cb606aa65485b60f4c631 Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Mon, 25 Mar 2024 17:40:17 +0800 Subject: [PATCH 7/8] chore: include more comparisons in the langchain-llama2-chatbot-sagemaker example Compare with Pulumi Serverless, Winglang, Lepton, and Serverless. --- .../README.md | 23 +- .../README_zh.md | 24 +- .../comparison/application/main.ts | 33 +- .../comparison/lepton/photon.py | 156 + .../comparison/pulumi-app/Pulumi.dev.yaml | 5 + .../comparison/pulumi-app/Pulumi.yaml | 2 + .../comparison/pulumi-app/app.ts | 96 + .../comparison/pulumi-app/package.json | 17 + .../comparison/pulumi-app/pulumi.ts | 241 + .../comparison/pulumi-app/tsconfig.json | 27 + .../comparison/pulumi/pulumi.ts | 5 +- .../comparison/serverless/.gitignore | 2 + .../comparison/serverless/README.md | 139 + .../comparison/serverless/index.ts | 98 + .../comparison/serverless/package-lock.json | 746 + .../comparison/serverless/package.json | 14 + .../comparison/serverless/serverless.yml | 137 + .../comparison/serverless/tsconfig.json | 27 + .../comparison/terraform/terraform.tf | 3 +- .../comparison/wing-ts/main.ts | 124 + .../comparison/wing-ts/package-lock.json | 14200 ++++++++++++++ .../comparison/wing-ts/package.json | 22 + .../comparison/wing-wing/.gitignore | 3 + .../comparison/wing-wing/langchain.ts | 87 + .../comparison/wing-wing/main.w | 58 + .../comparison/wing-wing/package-lock.json | 15329 ++++++++++++++++ .../comparison/wing-wing/package.json | 14 + pnpm-lock.yaml | 23 +- pnpm-workspace.yaml | 1 + 29 files changed, 31617 insertions(+), 39 deletions(-) create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/lepton/photon.py create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.dev.yaml create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.yaml create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/app.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/package.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/pulumi.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/tsconfig.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/.gitignore create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/README.md create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/index.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package-lock.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/serverless.yml create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/tsconfig.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/main.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package-lock.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/.gitignore create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/langchain.ts create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/main.w create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package-lock.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package.json diff --git a/examples/langchain-llama2-chatbot-sagemaker/README.md b/examples/langchain-llama2-chatbot-sagemaker/README.md index 08731639..6edad7fe 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/README.md +++ b/examples/langchain-llama2-chatbot-sagemaker/README.md @@ -21,14 +21,21 @@ As illustrated above, our example application relies on the following AWS servic The table below shows a comparison between Pluto and other tools regarding the amount and type of code: -| | Code Type | Lines of Code | -| ----------- | ---------------------------------- | ------------- | -| Application | Business Logic | 79 | -| Pulumi | Infrastructure Configuration | 159 | -| Terraform | Infrastructure Configuration | 201 | -| **Pluto** | **Business Logic + Configuration** | **87** | - -Using Pluto, you can integrate business logic and infrastructure configuration with only an 8-line increase compared to pure business logic code, significantly reducing the amount of code. When building with Pulumi or Terraform, the total lines of code for business logic plus infrastructure configuration reach 238 and 280 lines, respectively, with Pluto's code amounting to only about a third of that. +| | Code Type | Lines of Code | Code Location | +| ------------------------------------------------------- | ---------------------------------- | -------------------- | -------------------------------- | +| Application | Business Logic | 83(.ts) | [Code](./comparison/application) | +| [Terraform](https://www.terraform.io/) | Infrastructure Configuration | 201(.tf) | [Code](./comparison/terraform) | +| [Pulumi](https://www.pulumi.com/) | Infrastructure Configuration | 157(.ts) | [Code](./comparison/pulumi) | +| [Pulumi Serverless](https://www.pulumi.com/serverless/) | Business Logic + Configuration | 256(.ts) | [Code](./comparison/pulumi-app) | +| [Winglang - TS](https://github.com/winglang/wing) | Business Logic + Configuration | 100(.ts) | [Code](./comparison/wing-ts) | +| [Winglang - Wing](https://github.com/winglang/wing) | Business Logic + Configuration | 71(.w) + 47(.ts) | [Code](./comparison/wing-wing) | +| [Lepton](https://www.lepton.ai/) | Business Logic + Configuration | 116(.py) | [Code](./comparison/lepton) | +| [Serverless](https://github.com/serverless/serverless) | Business Logic + Configuration | 79(.ts) + 120(.yaml) | [Code](./comparison/serverless) | +| **Pluto** | **Business Logic + Configuration** | **100(.ts)** | [Code](./src) | + +By examining the table data, it's evident that Pluto adds 17 lines of code in contrast to pure business logic code. This includes code related to cloud resource creation and permission configuration. When infrastructure setup is handled using provisioning tools like Pulumi or Terraform, the combined code for business logic and infrastructure configuration exceeds twice the size of Pluto's code. Compared to tools such as Pulumi's Serverless feature, Winglang, Lepton, and Serverless, which streamline cloud usage, Pluto demands lower cloud and AI background knowledge and entails less code. + +While using other tools, we faced several issues that ultimately hindered the deployment of this code. For instance, Winglang lacks support for SageMaker Model and EndpointConfig resource types, Pulumi runtime errors, and intricate resource configuration. If you're interested, feel free to lend a hand with the fixes. ## Deployment Steps diff --git a/examples/langchain-llama2-chatbot-sagemaker/README_zh.md b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md index ea370496..3c7c772a 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/README_zh.md +++ b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md @@ -19,16 +19,23 @@ ## 比较 -以下表格展示了 Pluto 与其他工具在代码量和类型上的对比: +我们尝试使用其他工具构建相同的示例应用,以下表格展示了 Pluto 与其他工具在代码量和类型上的对比: -| | 代码类型 | 代码量/行 | -| --------- | ------------------- | --------- | -| 应用程序 | 业务逻辑 | 79 | -| Pulumi | 基础设施配置 | 159 | -| Terraform | 基础设施配置 | 201 | -| **Pluto** | **业务逻辑 + 配置** | **87** | +| | 代码类型 | 代码量/行 | 代码地址 | +| ------------------------------------------------------- | ------------------- | -------------------- | -------------------------------- | +| 应用程序 | 业务逻辑 | 83(.ts) | [源码](./comparison/application) | +| [Terraform](https://www.terraform.io/) | 基础设施配置 | 201(.tf) | [源码](./comparison/terraform) | +| [Pulumi](https://www.pulumi.com/) | 基础设施配置 | 157(.ts) | [源码](./comparison/pulumi) | +| [Pulumi Serverless](https://www.pulumi.com/serverless/) | 业务逻辑 + 配置 | 256(.ts) | [源码](./comparison/pulumi-app) | +| [Winglang - TS](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 100(.ts) | [源码](./comparison/wing-ts) | +| [Winglang - Wing](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 71(.w) + 47(.ts) | [源码](./comparison/wing-wing) | +| [Lepton](https://www.lepton.ai/) | 业务逻辑 + 配置 | 116(.py) | [源码](./comparison/lepton) | +| [Serverless](https://github.com/serverless/serverless) | 业务逻辑 + 配置 | 79(.ts) + 120(.yaml) | [源码](./comparison/serverless) | +| **Pluto** | **业务逻辑 + 配置** | **100(.ts)** | [源码](./src) | -使用 Pluto 可以整合业务逻辑和基础设施配置,与纯业务逻辑代码相比,仅增加了 8 行代码,显著减少代码量。而采用 Pulumi 或 Terraform 构建时,业务逻辑加基础设施配置的整体代码量分别达到 238 行和 280 行,Pluto 的代码量仅为其约三分之一。 +通过对比表格数据可以看到,Pluto 与纯业务逻辑代码相比,增加了 17 行代码,包含了云资源创建与权限配置相关代码。如果采用 Pulumi 或 Terraform 等 IaC 工具进行基础设施配置,业务逻辑加基础设施配置的整体代码量均在 Pluto 代码量的两倍以上。与 Pulumi 的 Serverless 功能、Winglang、Lepton、Serverless 等简化云使用的工具相比,Pluto 对云、AI 背景知识的要求更低,所需代码量也更少。 + +我们在使用其他工具构建的过程中,遇到了许多问题,导致这些代码最终并没有部署成功,例如,Winglang 没有提供 SageMaker Model、EndpointConfig 资源类型,Pulumi 运行时报错,繁琐的资源项配置等,如果你有兴趣欢迎进行修复。 ## 部署步骤 @@ -70,5 +77,4 @@ time curl --get "$CHATBOT_API_URL/chat" \ - **增加自定义业务逻辑**:根据特定的业务需求,你可以编写更多的 Lambda 函数,实现更复杂的业务逻辑。 - **整合更多 AWS 服务**:你可以利用 AWS 提供的丰富服务,例如 Amazon SNS 作为消息队列,实现异步消息处理。 - - **增强用户体验**:你可以开发一个前端用户界面,让用户能够通过网页或移动应用与聊天机器人互动,而不仅仅是通过 API 请求。 diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts index ad02bec4..02ec1677 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/application/main.ts @@ -59,19 +59,7 @@ const model = new SageMakerEndpoint({ }, }); -async function handler(event, context) { - const queries = event.queryStringParameters ?? {}; - const sessionId = Array.isArray(queries["sessionid"]) - ? queries["sessionid"][0] - : queries["sessionid"]; - const query = Array.isArray(queries["query"]) ? queries["query"][0] : queries["query"]; - if (!sessionId || !query) { - return { - statusCode: 400, - body: "Both sessionid and query are required.", - }; - } - +async function chat(sessionId: string, query: string) { const memory = new BufferMemory({ chatHistory: new DynamoDBChatMessageHistory({ tableName: DYNAMODB_TABLE_NAME, @@ -92,8 +80,25 @@ Context: const llmChain = new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); const result = await llmChain.invoke({ query }); + return result["response"]; +} + +async function handler(event, context) { + const queries = event.queryStringParameters ?? {}; + const sessionId = Array.isArray(queries["sessionid"]) + ? queries["sessionid"][0] + : queries["sessionid"]; + const query = Array.isArray(queries["query"]) ? queries["query"][0] : queries["query"]; + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const result = await chat(sessionId, query); return { statusCode: 200, - body: result["response"], + body: result, }; } diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/lepton/photon.py b/examples/langchain-llama2-chatbot-sagemaker/comparison/lepton/photon.py new file mode 100644 index 00000000..148efe37 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/lepton/photon.py @@ -0,0 +1,156 @@ +# Not working. Related issue: https://github.com/leptonai/leptonai/issues/354 +import os +import json +from typing import List, Optional, Any + +import torch +from transformers import pipeline, Pipeline + +from leptonai.kv import KV +from leptonai.photon import Photon +from langchain_core.chat_history import BaseChatMessageHistory + +from langchain_core.messages import ( + BaseMessage, + message_to_dict, + messages_from_dict, + messages_to_dict, +) +from langchain.prompts import PromptTemplate +from langchain_core.language_models import LLM +from langchain.memory.buffer import ConversationBufferMemory +from langchain_core.callbacks import CallbackManagerForLLMRun +from langchain_community.llms.utils import enforce_stop_tokens +from langchain.chains.conversation.base import ConversationChain + + +_KV_NAMESPACE = "lepton-chatbot" + + +class LeptonMessageHistory(BaseChatMessageHistory): + def __init__(self, namespace: str, session_id: str): + self.kv = KV(namespace, create_if_not_exists=True, wait_for_creation=True) + self.session_id = session_id + + def add_message(self, message: BaseMessage) -> None: + messages = messages_to_dict(self.messages) + _message = message_to_dict(message) + messages.append(_message) + self.kv.put(self.session_id, json.dumps(messages)) + + @property + def messages(self) -> List[BaseMessage]: # type: ignore + messages = [] + try: + data = self.kv.get(self.session_id) + messages = json.loads(data) + except: + messages = [] + return messages_from_dict(messages) + + def clear(self): + self.kv.delete(self.session_id) + + +class LeptonLLM(LLM): + + pipeline: Pipeline + + @property + def _llm_type(self): + return "lepton" + + def _call( + self, + prompt: str, + stop: Optional[List[str]] = None, + run_manager: Optional[CallbackManagerForLLMRun] = None, + **kwargs: Any, + ) -> str: + res = self.pipeline(prompt) + + text = str(self._get_generated_text(res)) + + if stop is not None: + text = enforce_stop_tokens(text, stop) + + return text + + def _get_generated_text(self, res): + if isinstance(res, str): + return res + elif isinstance(res, dict): + return res["generated_text"] + elif isinstance(res, list): + if len(res) == 1: + return self._get_generated_text(res[0]) + else: + return [self._get_generated_text(r) for r in res] + else: + raise ValueError( + f"Unsupported result type in _get_generated_text: {type(res)}" + ) + + +class Llama2(Photon): + requirement_dependency = [ + "git+https://github.com/huggingface/transformers.git@015f8e1", + "accelerate", + "langchain", + ] + + def init(self): + if torch.cuda.is_available(): + device = 0 + else: + device = -1 + + self.pipeline = pipeline( + "text-generation", + model=os.environ.get("MODEL", "meta-llama/Llama-2-7b-chat-hf"), + torch_dtype=torch.float16, + device=device, + ) + + print(self.pipeline is None) + + @Photon.handler( + "chat", + example={ + "session_id": "session_id", + "query": "What is the capital of France?", + }, + ) + def chat(self, session_id: str, query: str): + llm = LeptonLLM(pipeline=self.pipeline) + + memory = ConversationBufferMemory( + chat_memory=LeptonMessageHistory( + namespace=_KV_NAMESPACE, session_id=session_id + ) + ) + + promptTemplate = PromptTemplate.from_template( + """<|system|> + You are a cool and aloof robot, answering questions very briefly and directly. + + Context: + {history} + <|user|> + {query} + <|assistant|>""" + ) + + chain = ConversationChain( + llm=llm, + memory=memory, + prompt=promptTemplate, + ) + + result = chain({"query": query}) + print(result) + + +if __name__ == "__main__": + p = Llama2() + p.launch() diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.dev.yaml b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.dev.yaml new file mode 100644 index 00000000..f818e902 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.dev.yaml @@ -0,0 +1,5 @@ +project: pulumi-chatbot-app +config: + aws:region: us-east-1 + stageName: dev + huggingFaceToken: hf_EmXPwpnyHoNrxxxxxxxxx diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.yaml b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.yaml new file mode 100644 index 00000000..81b08e07 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/Pulumi.yaml @@ -0,0 +1,2 @@ +runtime: nodejs +name: pulumi-chatbot-app diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/app.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/app.ts new file mode 100644 index 00000000..64438f64 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/app.ts @@ -0,0 +1,96 @@ +import * as pulumi from "@pulumi/pulumi"; + +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +const awsConfig = new pulumi.Config("aws"); +const awsRegion = awsConfig.require("region"); + +class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } +} + +function createModel(endpointName: string) { + return new SageMakerEndpoint({ + endpointName: endpointName, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: awsRegion, + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, + }); +} + +export async function chat( + endpointName: string, + tableName: string, + partitionKey: string, + sessionId: string, + query: string +) { + const memory = new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: tableName, + partitionKey: partitionKey, + sessionId: sessionId, + }), + }); + + const promptTemplate = PromptTemplate.fromTemplate(`<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>`); + + const llmChain = new ConversationChain({ + llm: createModel(endpointName), + memory: memory, + prompt: promptTemplate, + }); + + const result = await llmChain.invoke({ query }); + return result["response"]; +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/package.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/package.json new file mode 100644 index 00000000..9568941d --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/package.json @@ -0,0 +1,17 @@ +{ + "name": "pulumi-chatbot-app", + "version": "0.0.1", + "description": "", + "main": "pulumi.ts", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@langchain/community": "^0.0.33", + "@pulumi/aws": "^6.4.1", + "@pulumi/pulumi": "^3.88.0", + "langchain": "^0.1.23" + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/pulumi.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/pulumi.ts new file mode 100644 index 00000000..ac82d388 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/pulumi.ts @@ -0,0 +1,241 @@ +/** + * Not working. The following error is thrown during runtime: + * ``` + * { + * "errorType": "Runtime.UserCodeSyntaxError", + * "errorMessage": "SyntaxError: Identifier 'exports' has already been declared", + * "stack": [ + * "Runtime.UserCodeSyntaxError: SyntaxError: Identifier 'exports' has already been declared", + * " at _loadUserApp (file:///var/runtime/index.mjs:1084:17)", + * " at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1119:21)", + * " at async start (file:///var/runtime/index.mjs:1282:23)", + * " at async file:///var/runtime/index.mjs:1288:1" + * ] + * } + * ``` + */ +import * as aws from "@pulumi/aws"; +import * as pulumi from "@pulumi/pulumi"; + +// Initialize Pulumi configuration +const config = new pulumi.Config(); +const stageName = config.require("stageName"); +const huggingFaceToken = config.requireSecret("huggingFaceToken"); // Use Pulumi's secrets for sensitive data + +const PARTITION_KEY = "Id"; + +// Lambda IAM role policy document +const lambdaPolicyDoc = aws.iam.getPolicyDocumentOutput({ + statements: [ + { + actions: ["sts:AssumeRole"], + effect: "Allow", + principals: [ + { + identifiers: ["lambda.amazonaws.com"], + type: "Service", + }, + ], + }, + ], +}); + +// Lambda IAM role +const lambdaRole = new aws.iam.Role("lambda-role", { + assumeRolePolicy: lambdaPolicyDoc.json, +}); + +const lambdaFunction = new aws.lambda.CallbackFunction("lambda-function", { + callback: async (event: any) => { + const queries = event.queryStringParameters ?? {}; + const sessionId = Array.isArray(queries["sessionid"]) + ? queries["sessionid"][0] + : queries["sessionid"]; + const query = Array.isArray(queries["query"]) ? queries["query"][0] : queries["query"]; + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const combinedArgs = pulumi.all([sagemakerEndpoint.name, dynamoDbTable.name]); + return combinedArgs.apply(async ([endpointName, tableName]) => { + const chat = (await import("./app")).chat; + const result = chat(endpointName, tableName, PARTITION_KEY, sessionId, query); + return { + statusCode: 200, + body: result, + }; + }); + }, + role: lambdaRole.arn, + runtime: aws.lambda.Runtime.NodeJS18dX, + timeout: 600, +}); + +// API Gateway +const api = new aws.apigatewayv2.Api("api", { + protocolType: "HTTP", +}); + +// API Gateway integration +const integration = new aws.apigatewayv2.Integration("integration", { + apiId: api.id, + integrationType: "AWS_PROXY", + integrationMethod: "POST", + integrationUri: lambdaFunction.invokeArn, + timeoutMilliseconds: 30000, +}); + +// API Gateway route +const route = new aws.apigatewayv2.Route("route", { + apiId: api.id, + routeKey: "GET /chat", + target: pulumi.interpolate`integrations/${integration.id}`, +}); + +// API Gateway permissions for Lambda +new aws.lambda.Permission("api-lambda-permission", { + action: "lambda:InvokeFunction", + function: lambdaFunction.name, + principal: "apigateway.amazonaws.com", + sourceArn: pulumi.interpolate`${api.executionArn}/*`, +}); + +// API Gateway deployment +const deployment = new aws.apigatewayv2.Deployment( + "deployment", + { + apiId: api.id, + }, + { dependsOn: [route] } +); + +// API Gateway stage +new aws.apigatewayv2.Stage( + "api-stage", + { + apiId: api.id, + deploymentId: deployment.id, + name: stageName, + autoDeploy: true, + accessLogSettings: { + destinationArn: pulumi.interpolate`${ + new aws.cloudwatch.LogGroup("api-loggroup", { + retentionInDays: 7, + }).arn + }`, + format: `$context.identity.sourceIp - - [$context.requestTime] "$context.httpMethod $context.routeKey $context.protocol" $context.status $context.responseLength $context.requestId $context.integrationErrorMessage $context.error.messageString $context.error.responseType`, + }, + }, // Depends on deployment to ensure the API stage is created after deployment + { dependsOn: [deployment] } +); + +// SageMaker execution role +const sageMakerExecutionRole = new aws.iam.Role("sagemaker-role", { + assumeRolePolicy: JSON.stringify({ + Version: "2012-10-17", + Statement: [ + { + Action: "sts:AssumeRole", + Effect: "Allow", + Principal: { + Service: "sagemaker.amazonaws.com", + }, + }, + ], + }), +}); + +// SageMaker policy attachment +new aws.iam.RolePolicyAttachment("sagemaker-policy-attachment", { + role: sageMakerExecutionRole.name, + policyArn: "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess", +}); + +// SageMaker model +const sagemakerModel = new aws.sagemaker.Model("sagemaker-model", { + executionRoleArn: sageMakerExecutionRole.arn, + primaryContainer: { + image: + "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04", + environment: { + HF_MODEL_ID: "meta-llama/Llama-2-7b-chat-hf", + HF_TASK: "text-classification", + HUGGING_FACE_HUB_TOKEN: huggingFaceToken, + }, + }, +}); + +// SageMaker endpoint configuration +const endpointConfig = new aws.sagemaker.EndpointConfiguration("sagemaker-endpoint-config", { + productionVariants: [ + { + instanceType: "ml.g5.2xlarge", + modelName: sagemakerModel.name, + initialInstanceCount: 1, + variantName: "AllTraffic", + }, + ], +}); + +// SageMaker endpoint +const sagemakerEndpoint = new aws.sagemaker.Endpoint("sagemaker-endpoint", { + endpointConfigName: endpointConfig.name, +}); + +// DynamoDB table +const dynamoDbTable = new aws.dynamodb.Table("dynamodb-table", { + attributes: [ + { + name: PARTITION_KEY, + type: "S", + }, + ], + hashKey: "Id", + billingMode: "PAY_PER_REQUEST", +}); + +// IAM policy for Lambda function to access DynamoDB and SageMaker +const policyDocument = aws.iam.getPolicyDocumentOutput({ + statements: [ + { + actions: ["dynamodb:*"], + effect: "Allow", + resources: [dynamoDbTable.arn], + }, + { + actions: ["sagemaker:InvokeEndpoint"], + effect: "Allow", + resources: [sagemakerEndpoint.arn], + }, + ], +}); + +// IAM policy +const lambdaAccessPolicy = new aws.iam.Policy("lambda-access-policy", { + path: "/", + description: "Policy for Lambda Function to access resources", + policy: policyDocument.json, +}); + +// Attach the IAM policy to Lambda role +new aws.iam.RolePolicyAttachment("lambda-policy-attachment", { + role: lambdaRole.name, + policyArn: lambdaAccessPolicy.arn, +}); + +new aws.iam.RolePolicyAttachment("cloudwatch-policy-attachment", { + role: lambdaRole.name, + policyArn: "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole", +}); + +// Export the API endpoint URL +export const apiEndpointUrl = api.apiEndpoint; + +// Export the SageMaker endpoint name +export const sagemakerEndpointName = sagemakerEndpoint.name; + +// Export the DynamoDB table name +export const dynamoDbTableName = dynamoDbTable.name; diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/tsconfig.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/tsconfig.json new file mode 100644 index 00000000..597c7c96 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi-app/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "outDir": "./dist", + "alwaysStrict": true, + "declaration": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "inlineSourceMap": true, + "inlineSources": true, + "module": "CommonJS", + "noEmitOnError": false, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "stripInternal": true, + "target": "ES2019" + }, + "include": ["*.ts"], + "exclude": ["node_modules"] +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts index 4801269c..15738f53 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/pulumi/pulumi.ts @@ -1,3 +1,4 @@ +// Not verified if it'll work. import * as aws from "@pulumi/aws"; import * as pulumi from "@pulumi/pulumi"; @@ -124,7 +125,7 @@ const sagemakerModel = new aws.sagemaker.Model("sagemaker-model", { executionRoleArn: sageMakerExecutionRole.arn, primaryContainer: { image: - "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:pytorch-1.7.1-transformers-4.6.1-gpu-py36-cu110-ubuntu18.04", + "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04", environment: { HF_MODEL_ID: "meta-llama/Llama-2-7b-chat-hf", HF_TASK: "text-classification", @@ -160,8 +161,6 @@ const dynamoDbTable = new aws.dynamodb.Table("dynamodb-table", { ], hashKey: "Id", billingMode: "PAY_PER_REQUEST", - readCapacity: 10, - writeCapacity: 10, }); // IAM policy for Lambda function to access DynamoDB and SageMaker diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/.gitignore b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/.gitignore new file mode 100644 index 00000000..2c444806 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/.gitignore @@ -0,0 +1,2 @@ +node_modules +.serverless diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/README.md b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/README.md new file mode 100644 index 00000000..0c3e4513 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/README.md @@ -0,0 +1,139 @@ + + +# Serverless Framework Node Express API on AWS + +This template demonstrates how to develop and deploy a simple Node Express API service, backed by DynamoDB database, running on AWS Lambda using the traditional Serverless Framework. + +## Anatomy of the template + +This template configures a single function, `api`, which is responsible for handling all incoming requests thanks to the `httpApi` event. To learn more about `httpApi` event configuration options, please refer to [httpApi event docs](https://www.serverless.com/framework/docs/providers/aws/events/http-api/). As the event is configured in a way to accept all incoming requests, `express` framework is responsible for routing and handling requests internally. Implementation takes advantage of `serverless-http` package, which allows you to wrap existing `express` applications. To learn more about `serverless-http`, please refer to corresponding [GitHub repository](https://github.com/dougmoscrop/serverless-http). Additionally, it also handles provisioning of a DynamoDB database that is used for storing data about users. The `express` application exposes two endpoints, `POST /users` and `GET /user/{userId}`, which allow to create and retrieve users. + +## Usage + +### Deployment + +Install dependencies with: + +``` +npm install +``` + +and then deploy with: + +``` +serverless deploy +``` + +After running deploy, you should see output similar to: + +```bash +Deploying aws-node-express-dynamodb-api-project to stage dev (us-east-1) + +✔ Service deployed to stack aws-node-express-dynamodb-api-project-dev (196s) + +endpoint: ANY - https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com +functions: + api: aws-node-express-dynamodb-api-project-dev-api (766 kB) +``` + +_Note_: In current form, after deployment, your API is public and can be invoked by anyone. For production deployments, you might want to configure an authorizer. For details on how to do that, refer to [`httpApi` event docs](https://www.serverless.com/framework/docs/providers/aws/events/http-api/). Additionally, in current configuration, the DynamoDB table will be removed when running `serverless remove`. To retain the DynamoDB table even after removal of the stack, add `DeletionPolicy: Retain` to its resource definition. + +### Invocation + +After successful deployment, you can create a new user by calling the corresponding endpoint: + +```bash +curl --request POST 'https://xxxxxx.execute-api.us-east-1.amazonaws.com/users' --header 'Content-Type: application/json' --data-raw '{"name": "John", "userId": "someUserId"}' +``` + +Which should result in the following response: + +```bash +{"userId":"someUserId","name":"John"} +``` + +You can later retrieve the user by `userId` by calling the following endpoint: + +```bash +curl https://xxxxxxx.execute-api.us-east-1.amazonaws.com/users/someUserId +``` + +Which should result in the following response: + +```bash +{"userId":"someUserId","name":"John"} +``` + +If you try to retrieve user that does not exist, you should receive the following response: + +```bash +{"error":"Could not find user with provided \"userId\""} +``` + +### Local development + +It is also possible to emulate DynamoDB, API Gateway and Lambda locally using the `serverless-dynamodb-local` and `serverless-offline` plugins. In order to do that, run: + +```bash +serverless plugin install -n serverless-dynamodb-local +serverless plugin install -n serverless-offline +``` + +It will add both plugins to `devDependencies` in `package.json` file as well as will add it to `plugins` in `serverless.yml`. Make sure that `serverless-offline` is listed as last plugin in `plugins` section: + +``` +plugins: + - serverless-dynamodb-local + - serverless-offline +``` + +You should also add the following config to `custom` section in `serverless.yml`: + +``` +custom: + (...) + dynamodb: + start: + migrate: true + stages: + - dev +``` + +Additionally, we need to reconfigure `AWS.DynamoDB.DocumentClient` to connect to our local instance of DynamoDB. We can take advantage of `IS_OFFLINE` environment variable set by `serverless-offline` plugin and replace: + +```javascript +const dynamoDbClient = new AWS.DynamoDB.DocumentClient(); +``` + +with the following: + +```javascript +const dynamoDbClientParams = {}; +if (process.env.IS_OFFLINE) { + dynamoDbClientParams.region = "localhost"; + dynamoDbClientParams.endpoint = "http://localhost:8000"; +} +const dynamoDbClient = new AWS.DynamoDB.DocumentClient(dynamoDbClientParams); +``` + +After that, running the following command with start both local API Gateway emulator as well as local instance of emulated DynamoDB: + +```bash +serverless offline start +``` + +To learn more about the capabilities of `serverless-offline` and `serverless-dynamodb-local`, please refer to their corresponding GitHub repositories: + +- https://github.com/dherault/serverless-offline +- https://github.com/99x/serverless-dynamodb-local diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/index.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/index.ts new file mode 100644 index 00000000..a1e50c1b --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/index.ts @@ -0,0 +1,98 @@ +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +const DYNAMODB_PARTITION_KEY = "Id"; +const DYNAMODB_TABLE_NAME = process.env.USERS_TABLE!; +const SAGEMAKER_ENDPONIT_NAME = process.env.ENDPOINT_NAME!; + +class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } +} + +const model = new SageMakerEndpoint({ + endpointName: SAGEMAKER_ENDPONIT_NAME, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: process.env["AWS_REGION"], + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, +}); + +export async function handler(event: any) { + const queries = event.queryStringParameters ?? {}; + const sessionId = Array.isArray(queries["sessionid"]) + ? queries["sessionid"][0] + : queries["sessionid"]; + const query = Array.isArray(queries["query"]) ? queries["query"][0] : queries["query"]; + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const memory = new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: DYNAMODB_TABLE_NAME, + partitionKey: DYNAMODB_PARTITION_KEY, + sessionId: sessionId, + }), + }); + + const promptTemplate = PromptTemplate.fromTemplate(`<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>`); + + const llmChain = new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); + + const result = await llmChain.invoke({ query }); + return { + statusCode: 200, + body: result["response"], + }; +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package-lock.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package-lock.json new file mode 100644 index 00000000..48ee842c --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package-lock.json @@ -0,0 +1,746 @@ +{ + "name": "serverless-chatbot", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "serverless-chatbot", + "version": "1.0.0", + "dependencies": { + "express": "^4.18.2", + "serverless-http": "^3.1.1" + }, + "devDependencies": { + "serverless-iam-roles-per-function": "^3.2.0", + "serverless-plugin-resource-tagging": "^1.2.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serverless-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-http/-/serverless-http-3.2.0.tgz", + "integrity": "sha512-QvSyZXljRLIGqwcJ4xsKJXwkZnAVkse1OajepxfjkBXV0BMvRS5R546Z4kCBI8IygDzkQY0foNPC/rnipaE9pQ==", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/serverless-iam-roles-per-function": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/serverless-iam-roles-per-function/-/serverless-iam-roles-per-function-3.2.0.tgz", + "integrity": "sha512-AXmxACHEUsDcFDcv8QNwDgn2L0brRJ7pz/phD3lFB/wQ3TtPJkorC+J7PxgFQbaWIQk15EIlU83BtKXeQoPTAg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serverless-plugin-resource-tagging": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/serverless-plugin-resource-tagging/-/serverless-plugin-resource-tagging-1.2.0.tgz", + "integrity": "sha512-nWn6AXhR6HRDu7RLGukcQg34eOnWqhgvAado8GGCmgx+s94bCSaoHh2glAIg2gBj1w3DIz+swQz+U3oV9rkY0A==", + "dev": true, + "dependencies": { + "underscore": "^1.12.1", + "user": "0.0.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/user": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/user/-/user-0.0.0.tgz", + "integrity": "sha512-eRNM5isOvr6aEFAGi1CqAkmLkYxW2NJ5ThhbD+6IJXYKM1mo7Gtxx4mQIveHz/5K3p/SVnlW9k17ETn+QAu8IQ==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + } + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package.json new file mode 100644 index 00000000..a4a4619e --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/package.json @@ -0,0 +1,14 @@ +{ + "name": "serverless-chatbot", + "version": "1.0.0", + "description": "", + "devDependencies": { + "serverless-iam-roles-per-function": "^3.2.0", + "serverless-plugin-resource-tagging": "^1.2.0", + "typescript": "^5.2.2" + }, + "dependencies": { + "@langchain/community": "^0.0.33", + "langchain": "^0.1.23" + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/serverless.yml b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/serverless.yml new file mode 100644 index 00000000..f99502bd --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/serverless.yml @@ -0,0 +1,137 @@ +# Not working. The following error is thrown during deployment: +# CREATE_FAILED: SageMakerEndpoint (AWS::SageMaker::Endpoint) +# The role 'arn:aws:iam:::role/serverless-chatbot-dev-SageMakerRole-z6bsYWR34Qax' does not have BatchGetImage permission for the image: '763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference@sha256:2c57392f2788a6d21d2fbdae920826d1354eda7e89e2016b4409ef003a6a14af'. + +service: serverless-chatbot +frameworkVersion: "3" + +custom: + tableName: "conversations" + endpointName: "llama2-chatbot" + sagemakerInstanceType: "ml.g5.2xlarge" + huggingFaceModelId: "meta-llama/Llama-2-7b-chat-hf" + huggingFaceTask: "text-classification" + huggingFaceToken: "hf_EmXPwpnyHoNrxxxxxxxxx" + +provider: + name: aws + runtime: nodejs18.x + region: us-east-1 + stage: ${opt:stage, 'dev'} + environment: + HUGGING_FACE_TOKEN: ${self:custom.huggingFaceToken} + TABLE_NAME: ${self:custom.tableName} + ENDPOINT_NAME: ${self:custom.endpointName} + iam: + role: + statements: + - Effect: "Allow" + Action: + - "dynamodb:GetItem" + - "dynamodb:PutItem" + - "dynamodb:UpdateItem" + - "sagemaker:InvokeEndpoint" + Resource: "*" + +functions: + api: + handler: dist/index.handler + events: + - httpApi: + path: /chat + method: get + +resources: + Resources: + DynamoDBTable: + Type: "AWS::DynamoDB::Table" + Properties: + TableName: ${self:custom.tableName} + BillingMode: "PAY_PER_REQUEST" + AttributeDefinitions: + - AttributeName: "Id" + AttributeType: "S" + KeySchema: + - AttributeName: "Id" + KeyType: "HASH" + + SageMakerRole: + Type: "AWS::IAM::Role" + Properties: + AssumeRolePolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: "Allow" + Principal: + Service: + - "sagemaker.amazonaws.com" + Action: "sts:AssumeRole" + Policies: + - PolicyName: "AmazonSageMakerFullAccess" + PolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: "Allow" + Action: "sagemaker:*" + Resource: "*" + - PolicyName: "AmazonEC2ContainerRegistryReadOnly" + PolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: "Allow" + Action: + - "ecr:BatchCheckLayerAvailability" + - "ecr:GetDownloadUrlForLayer" + - "ecr:BatchGetImage" + Resource: "*" + + SageMakerModel: + Type: "AWS::SageMaker::Model" + Properties: + ModelName: ${self:custom.endpointName} + ExecutionRoleArn: !GetAtt SageMakerRole.Arn + PrimaryContainer: + Image: "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" + Environment: + HF_MODEL_ID: ${self:custom.huggingFaceModelId} + HF_TASK: ${self:custom.huggingFaceTask} + HUGGING_FACE_HUB_TOKEN: ${self:custom.huggingFaceToken} + + SageMakerEndpointConfig: + Type: "AWS::SageMaker::EndpointConfig" + Properties: + EndpointConfigName: ${self:custom.endpointName} + ProductionVariants: + - InitialInstanceCount: 1 + InstanceType: ${self:custom.sagemakerInstanceType} + ModelName: !GetAtt SageMakerModel.ModelName + VariantName: "AllTraffic" + + SageMakerEndpoint: + Type: "AWS::SageMaker::Endpoint" + Properties: + EndpointName: ${self:custom.endpointName} + EndpointConfigName: !GetAtt SageMakerEndpointConfig.EndpointConfigName + + ApiLogGroup: + Type: "AWS::Logs::LogGroup" + Properties: + LogGroupName: "/aws/vendedlogs/apis/api-loggroup" + RetentionInDays: 7 + +plugins: + - serverless-iam-roles-per-function + - serverless-plugin-resource-tagging + +outputs: + ApiUrl: + Description: "The URL of the API Gateway endpoint." + Value: !Sub "https://${ApiGatewayRestApi}.execute-api.${AWS::Region}.amazonaws.com/${self:provider.stage}/chat" + + DynamoDBTableName: + Description: "The name of the DynamoDB table." + Value: !GetAtt DynamoDBTable.TableName + + SagemakerEndpointName: + Description: "The name of the SageMaker endpoint." + Value: !GetAtt SageMakerEndpoint.EndpointName diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/tsconfig.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/tsconfig.json new file mode 100644 index 00000000..45869971 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/serverless/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "outDir": "./dist", + "alwaysStrict": true, + "declaration": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "inlineSourceMap": true, + "inlineSources": true, + "module": "CommonJS", + "noEmitOnError": false, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "stripInternal": true, + "target": "ES2020" + }, + "include": ["*.ts"], + "exclude": ["node_modules"] +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf b/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf index 114d1eec..7cbee0d6 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/terraform/terraform.tf @@ -1,3 +1,4 @@ +# Not verified if it'll work. terraform { required_version = ">= 0.12" @@ -168,7 +169,7 @@ resource "aws_sagemaker_model" "sagemaker_model" { execution_role_arn = aws_iam_role.sagemaker_role.arn primary_container { - image = "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:pytorch-1.7.1-transformers-4.6.1-gpu-py36-cu110-ubuntu18.04" + image = "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04" environment = { HF_MODEL_ID = "meta-llama/Llama-2-7b-chat-hf" HF_TASK = "text-classification" diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/main.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/main.ts new file mode 100644 index 00000000..7b8589d6 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/main.ts @@ -0,0 +1,124 @@ +import { cloud, inflight, main } from "@wingcloud/framework"; +import { Table } from "@winglibs/dynamodb"; +import { Endpoint } from "@winglibs/sagemaker"; + +import { LLM } from "langchain/llms/base"; +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +const TABLE_NAME = "conversations"; +const PARTITION_KEY = "Id"; + +class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } +} + +async function chat(model: LLM, sessionId: string, query: string) { + const memory = new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: TABLE_NAME, + partitionKey: PARTITION_KEY, + sessionId: sessionId, + }), + }); + + const promptTemplate = PromptTemplate.fromTemplate(`<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>`); + + const llmChain = new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); + + const result = await llmChain.invoke({ query }); + return result["response"]; +} + +main((root) => { + const sagemaker = new Endpoint(root, "chatbot-wing", "chatbot-wing", "inferenceComponentName"); + + new Table(root, TABLE_NAME, { + name: TABLE_NAME, + attributes: [ + { + name: PARTITION_KEY, + type: "S", + }, + ], + hashKey: PARTITION_KEY, + }); + + const model = new SageMakerEndpoint({ + endpointName: sagemaker.endpointName, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: process.env["AWS_REGION"], + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, + }); + + const api = new cloud.Api(root, "chatbot-api"); + api.get( + "/chatbot", + inflight(async (ctx, req) => { + const sessionId = req.query.sessionId; + const query = req.query.query; + + if (!sessionId || !query) { + return { + statusCode: 400, + body: "Both sessionid and query are required.", + }; + } + + const result = await chat(model, sessionId, query); + return { + statusCode: 200, + body: result, + }; + }) + ); +}); diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package-lock.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package-lock.json new file mode 100644 index 00000000..acf9ea64 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package-lock.json @@ -0,0 +1,14200 @@ +{ + "name": "my-wing-app", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "my-wing-app", + "version": "0.0.0", + "license": "MIT", + "dependencies": { + "@langchain/community": "^0.0.42", + "@wingcloud/framework": "^0.63.2", + "@winglibs/dynamodb": "^0.0.3", + "@winglibs/sagemaker": "^0.0.3", + "langchain": "^0.1.28" + }, + "devDependencies": { + "@types/node": "^20", + "winglang": "^0.63.2" + } + }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.9.1.tgz", + "integrity": "sha512-wa1meQ2WSfoY8Uor3EdrJq0jTiZJoKoSii2ZVWRY1oN4Tlr5s59pADg9T79FTbPe1/se5c3pBeZgJL63wmuoBA==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@anthropic-ai/sdk/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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==", + "optional": true, + "peer": true, + "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/sha256-js/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==", + "optional": true, + "peer": true, + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.540.0.tgz", + "integrity": "sha512-AL4ZNb3q8WFZWlwybHNmipcBp1981pjzav6gIemWdmkrveVkNVEFmYHBEo9ONLKDDwoDsgxKUhATCLGrioWQJQ==", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-endpoint-discovery": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "@smithy/util-waiter": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb-streams/-/client-dynamodb-streams-3.540.0.tgz", + "integrity": "sha512-8eIEo9iNIGabz6ttUJaFA0gx09CsEtQoFwkl9Y8h9815e8BxNcW7QfWPvmVSGTI6NznQp9q9Z9pXgpxKyC1Wkg==", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@aws-sdk/client-dynamodb/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" + ], + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sagemaker-runtime/-/client-sagemaker-runtime-3.540.0.tgz", + "integrity": "sha512-S3OamdUon1C9XpgvjYWuj2waQB2kATisYfSEPD7ywiUc6CNjR0JDALNaxqz+/00lbBY9YoKQz/ORvy2PyuA+ZA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/eventstream-serde-browser": "^2.2.0", + "@smithy/eventstream-serde-config-resolver": "^2.2.0", + "@smithy/eventstream-serde-node": "^2.2.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-stream": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz", + "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz", + "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.540.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz", + "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.540.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/core": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.535.0.tgz", + "integrity": "sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==", + "dependencies": { + "@smithy/core": "^1.4.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/signature-v4": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.535.0.tgz", + "integrity": "sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.535.0.tgz", + "integrity": "sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.540.0.tgz", + "integrity": "sha512-igN/RbsnulIBwqXbwsWmR3srqmtbPF1dm+JteGvUY31FW65fTVvWvSr945Y/cf1UbhPmIQXntlsqESqpkhTHwg==", + "dependencies": { + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/credential-provider-env": "3.535.0", + "@aws-sdk/credential-provider-process": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.540.0.tgz", + "integrity": "sha512-HKQZJbLHlrHX9A0B1poiYNXIIQfy8whTjuosTCYKPDBhhUyVAQfxy/KG726j0v43IhaNPLgTGZCJve4hAsazSw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.535.0", + "@aws-sdk/credential-provider-http": "3.535.0", + "@aws-sdk/credential-provider-ini": "3.540.0", + "@aws-sdk/credential-provider-process": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.535.0.tgz", + "integrity": "sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.540.0.tgz", + "integrity": "sha512-tKkFqK227LF5ajc5EL6asXS32p3nkofpP8G7NRpU7zOEOQCg01KUc4JRX+ItI0T007CiN1J19yNoFqHLT/SqHg==", + "dependencies": { + "@aws-sdk/client-sso": "3.540.0", + "@aws-sdk/token-providers": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.540.0.tgz", + "integrity": "sha512-OpDm9w3A168B44hSjpnvECP4rvnFzD86rN4VYdGADuCvEa5uEcdA/JuT5WclFPDqdWEmFBqS1pxBIJBf0g2Q9Q==", + "dependencies": { + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/endpoint-cache": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.535.0.tgz", + "integrity": "sha512-sPG2l00iVuporK9AmPWq4UBcJURs2RN+vKA8QLRQANmQS3WFHWHamvGltxCjK79izkeqri882V4XlFpZfWhemA==", + "peer": true, + "dependencies": { + "mnemonist": "0.38.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.540.0.tgz", + "integrity": "sha512-zOzYsfzL7r403A6jriB3/KrlCvXO/jErqNMIE9EqEGloC6XVd64aKYo6qO8+LQbXNQ67hje4Wh/5wDYADC15mw==", + "peer": true, + "dependencies": { + "@aws-sdk/util-dynamodb": "3.540.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.535.0.tgz", + "integrity": "sha512-+EsqJB5A15RoTf0HxUdknF3hp+2WDg0HWc+QERUctzzYXy9l5LIQjmhQ96cWDyFttKmHE+4h6fjMZjJEeWOeYQ==", + "peer": true, + "dependencies": { + "@aws-sdk/endpoint-cache": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.535.0.tgz", + "integrity": "sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.535.0.tgz", + "integrity": "sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.535.0.tgz", + "integrity": "sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.540.0.tgz", + "integrity": "sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.535.0.tgz", + "integrity": "sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-config-provider": "^2.3.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.540.0.tgz", + "integrity": "sha512-9BvtiVEZe5Ev88Wa4ZIUbtT6BVcPwhxmVInQ6c12MYNb0WNL54BN6wLy/eknAfF05gpX2/NDU2pUDOyMPdm/+g==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.535.0.tgz", + "integrity": "sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.540.0.tgz", + "integrity": "sha512-Er3OCddj5MhJIpX4jzjeHpvyTcYk+LE1b2Efaku1xT8LeQ29mhg+6BFPsbYydqIas5KLQd8AiNVWBWN8qdpLRA==", + "peer": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.540.0.tgz", + "integrity": "sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "@smithy/util-endpoints": "^1.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.535.0.tgz", + "integrity": "sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.535.0.tgz", + "integrity": "sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.535.0.tgz", + "integrity": "sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@cdktf/provider-aws": { + "version": "19.11.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-aws/-/provider-aws-19.11.0.tgz", + "integrity": "sha512-Nl47iOIlCk+IHNfE00myuE4aUTF2VzrE+ooS5J9zVRHxG9sOvHWqXPARnNNTnJphZjXrfsmWLMHlEOrXRySgmw==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.20.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "optional": true, + "peer": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "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==", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==" + }, + "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==", + "dependencies": { + "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/@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==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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==" + }, + "node_modules/@langchain/community": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.0.42.tgz", + "integrity": "sha512-Xp3H0w23X9viHRpb3GUiFl+qjB68h/V7ztPOxR1AtaKlmXkjrSwiLqhMjlVsJ9jyPaKIr5ZOV07gYAXJUz/P8Q==", + "dependencies": { + "@langchain/core": "~0.1.44", + "@langchain/openai": "~0.0.19", + "expr-eval": "^2.0.2", + "flat": "^5.0.2", + "langsmith": "~0.1.1", + "uuid": "^9.0.0", + "zod": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@aws-crypto/sha256-js": "^5.0.0", + "@aws-sdk/client-bedrock-agent-runtime": "^3.485.0", + "@aws-sdk/client-bedrock-runtime": "^3.422.0", + "@aws-sdk/client-dynamodb": "^3.310.0", + "@aws-sdk/client-kendra": "^3.352.0", + "@aws-sdk/client-lambda": "^3.310.0", + "@aws-sdk/client-sagemaker-runtime": "^3.310.0", + "@aws-sdk/client-sfn": "^3.310.0", + "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/search-documents": "^12.0.0", + "@clickhouse/client": "^0.2.5", + "@cloudflare/ai": "*", + "@datastax/astra-db-ts": "^0.1.4", + "@elastic/elasticsearch": "^8.4.0", + "@getmetal/metal-sdk": "*", + "@getzep/zep-js": "^0.9.0", + "@gomomento/sdk": "^1.51.1", + "@gomomento/sdk-core": "^1.51.1", + "@google-ai/generativelanguage": "^0.2.1", + "@gradientai/nodejs-sdk": "^1.2.0", + "@huggingface/inference": "^2.6.4", + "@mozilla/readability": "*", + "@opensearch-project/opensearch": "*", + "@pinecone-database/pinecone": "*", + "@planetscale/database": "^1.8.0", + "@premai/prem-sdk": "^0.3.25", + "@qdrant/js-client-rest": "^1.2.0", + "@raycast/api": "^1.55.2", + "@rockset/client": "^0.9.1", + "@smithy/eventstream-codec": "^2.0.5", + "@smithy/protocol-http": "^3.0.6", + "@smithy/signature-v4": "^2.0.10", + "@smithy/util-utf8": "^2.0.0", + "@supabase/postgrest-js": "^1.1.1", + "@supabase/supabase-js": "^2.10.0", + "@tensorflow-models/universal-sentence-encoder": "*", + "@tensorflow/tfjs-converter": "*", + "@tensorflow/tfjs-core": "*", + "@upstash/redis": "^1.20.6", + "@upstash/vector": "^1.0.2", + "@vercel/kv": "^0.2.3", + "@vercel/postgres": "^0.5.0", + "@writerai/writer-sdk": "^0.40.2", + "@xata.io/client": "^0.28.0", + "@xenova/transformers": "^2.5.4", + "@zilliz/milvus2-sdk-node": ">=2.2.7", + "better-sqlite3": "^9.4.0", + "cassandra-driver": "^4.7.2", + "cborg": "^4.1.1", + "chromadb": "*", + "closevector-common": "0.1.3", + "closevector-node": "0.1.6", + "closevector-web": "0.1.6", + "cohere-ai": "*", + "convex": "^1.3.1", + "couchbase": "^4.3.0", + "discord.js": "^14.14.1", + "dria": "^0.0.3", + "faiss-node": "^0.5.1", + "firebase-admin": "^11.9.0 || ^12.0.0", + "google-auth-library": "^8.9.0", + "googleapis": "^126.0.1", + "hnswlib-node": "^1.4.2", + "html-to-text": "^9.0.5", + "interface-datastore": "^8.2.11", + "ioredis": "^5.3.2", + "it-all": "^3.0.4", + "jsdom": "*", + "jsonwebtoken": "^9.0.2", + "llmonitor": "^0.5.9", + "lodash": "^4.17.21", + "lunary": "^0.6.11", + "mongodb": ">=5.2.0", + "mysql2": "^3.3.3", + "neo4j-driver": "*", + "node-llama-cpp": "*", + "pg": "^8.11.0", + "pg-copy-streams": "^6.0.5", + "pickleparser": "^0.2.1", + "portkey-ai": "^0.1.11", + "redis": "*", + "replicate": "^0.18.0", + "typeorm": "^0.3.12", + "typesense": "^1.5.3", + "usearch": "^1.1.1", + "vectordb": "^0.1.4", + "voy-search": "0.6.2", + "weaviate-ts-client": "*", + "web-auth-library": "^1.0.3", + "ws": "^8.14.2" + }, + "peerDependenciesMeta": { + "@aws-crypto/sha256-js": { + "optional": true + }, + "@aws-sdk/client-bedrock-agent-runtime": { + "optional": true + }, + "@aws-sdk/client-bedrock-runtime": { + "optional": true + }, + "@aws-sdk/client-dynamodb": { + "optional": true + }, + "@aws-sdk/client-kendra": { + "optional": true + }, + "@aws-sdk/client-lambda": { + "optional": true + }, + "@aws-sdk/client-sagemaker-runtime": { + "optional": true + }, + "@aws-sdk/client-sfn": { + "optional": true + }, + "@aws-sdk/credential-provider-node": { + "optional": true + }, + "@azure/search-documents": { + "optional": true + }, + "@clickhouse/client": { + "optional": true + }, + "@cloudflare/ai": { + "optional": true + }, + "@datastax/astra-db-ts": { + "optional": true + }, + "@elastic/elasticsearch": { + "optional": true + }, + "@getmetal/metal-sdk": { + "optional": true + }, + "@getzep/zep-js": { + "optional": true + }, + "@gomomento/sdk": { + "optional": true + }, + "@gomomento/sdk-core": { + "optional": true + }, + "@google-ai/generativelanguage": { + "optional": true + }, + "@gradientai/nodejs-sdk": { + "optional": true + }, + "@huggingface/inference": { + "optional": true + }, + "@mozilla/readability": { + "optional": true + }, + "@opensearch-project/opensearch": { + "optional": true + }, + "@pinecone-database/pinecone": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@premai/prem-sdk": { + "optional": true + }, + "@qdrant/js-client-rest": { + "optional": true + }, + "@raycast/api": { + "optional": true + }, + "@rockset/client": { + "optional": true + }, + "@smithy/eventstream-codec": { + "optional": true + }, + "@smithy/protocol-http": { + "optional": true + }, + "@smithy/signature-v4": { + "optional": true + }, + "@smithy/util-utf8": { + "optional": true + }, + "@supabase/postgrest-js": { + "optional": true + }, + "@supabase/supabase-js": { + "optional": true + }, + "@tensorflow-models/universal-sentence-encoder": { + "optional": true + }, + "@tensorflow/tfjs-converter": { + "optional": true + }, + "@tensorflow/tfjs-core": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@upstash/vector": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@writerai/writer-sdk": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "@xenova/transformers": { + "optional": true + }, + "@zilliz/milvus2-sdk-node": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "cassandra-driver": { + "optional": true + }, + "cborg": { + "optional": true + }, + "chromadb": { + "optional": true + }, + "closevector-common": { + "optional": true + }, + "closevector-node": { + "optional": true + }, + "closevector-web": { + "optional": true + }, + "cohere-ai": { + "optional": true + }, + "convex": { + "optional": true + }, + "couchbase": { + "optional": true + }, + "discord.js": { + "optional": true + }, + "dria": { + "optional": true + }, + "faiss-node": { + "optional": true + }, + "firebase-admin": { + "optional": true + }, + "google-auth-library": { + "optional": true + }, + "googleapis": { + "optional": true + }, + "hnswlib-node": { + "optional": true + }, + "html-to-text": { + "optional": true + }, + "interface-datastore": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "it-all": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "jsonwebtoken": { + "optional": true + }, + "llmonitor": { + "optional": true + }, + "lodash": { + "optional": true + }, + "lunary": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "neo4j-driver": { + "optional": true + }, + "node-llama-cpp": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-copy-streams": { + "optional": true + }, + "pickleparser": { + "optional": true + }, + "portkey-ai": { + "optional": true + }, + "redis": { + "optional": true + }, + "replicate": { + "optional": true + }, + "typeorm": { + "optional": true + }, + "typesense": { + "optional": true + }, + "usearch": { + "optional": true + }, + "vectordb": { + "optional": true + }, + "voy-search": { + "optional": true + }, + "weaviate-ts-client": { + "optional": true + }, + "web-auth-library": { + "optional": true + }, + "ws": { + "optional": true + } + } + }, + "node_modules/@langchain/community/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/@langchain/core": { + "version": "0.1.50", + "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.1.50.tgz", + "integrity": "sha512-STeZgob/KgiNq3oVUguCvDDzqOTy+SKCOsEKriV6u5Yrx9mreIoV0iB63gABB2FLlHCksYVu0bR12kdgRWd6EA==", + "dependencies": { + "ansi-styles": "^5.0.0", + "camelcase": "6", + "decamelize": "1.2.0", + "js-tiktoken": "^1.0.8", + "langsmith": "~0.1.7", + "ml-distance": "^4.0.0", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@langchain/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@langchain/core/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/@langchain/openai": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.0.23.tgz", + "integrity": "sha512-H5yv2hKQ5JVa6jC1wQxiN2299lJbPc5JUv93c6IUw+0jr0kFqH48NWbcythz1UFj2rOpZdaFJSYJs2nr9bhVLg==", + "dependencies": { + "@langchain/core": "~0.1.45", + "js-tiktoken": "^1.0.7", + "openai": "^4.26.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "optional": true, + "peer": 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==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.1.tgz", + "integrity": "sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==", + "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.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.4.0.tgz", + "integrity": "sha512-VFsUaTrV8NR+0E2I+xhp6pPC5eAbMmSMSMZbS57aogLc6du6HWBPATFOaiNWwp1QTFVeP4aLhYixQM9hHfaAsA==", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.1.0", + "@npmcli/run-script": "^7.0.2", + "bin-links": "^4.0.1", + "cacache": "^18.0.0", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.1", + "json-parse-even-better-errors": "^3.0.0", + "json-stringify-nice": "^1.1.4", + "minimatch": "^9.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "npmlog": "^7.0.1", + "pacote": "^17.0.4", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.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.5", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz", + "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==", + "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/metavuln-calculator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.0.0.tgz", + "integrity": "sha512-Pw0tyX02VkpqlIQlG2TeiJNsdrecYeUU0ubZZa9pi3N37GCsxI+en43u4hYFdq+eSx1A9a9vwFAUyqEtKFsbHQ==", + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^17.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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==", + "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==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", + "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", + "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": "^3.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.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==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", + "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", + "optional": true, + "peer": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "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==", + "optional": true, + "peer": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/openapi-types": "^12.11.0" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", + "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", + "engines": { + "node": ">=8.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==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@segment/analytics-core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz", + "integrity": "sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA==", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.1.1", + "dset": "^3.1.2", + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.1.tgz", + "integrity": "sha512-THTIzBPHnvu1HYJU3fARdJ3qIkukO3zDXsmDm+kAeUks5R9CBXOQ6rPChiASVzSmwAIIo5uFIXXnCraojlq/Gw==", + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz", + "integrity": "sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ==", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.4.1", + "@segment/analytics-generic-utils": "1.1.1", + "buffer": "^6.0.3", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.2.0.tgz", + "integrity": "sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.0.0.tgz", + "integrity": "sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.0.tgz", + "integrity": "sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.3.tgz", + "integrity": "sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.1.tgz", + "integrity": "sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==", + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0", + "tuf-js": "^2.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.1.0.tgz", + "integrity": "sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz", + "integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.2.0.tgz", + "integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-config-provider": "^2.3.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.4.0.tgz", + "integrity": "sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz", + "integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.2.0.tgz", + "integrity": "sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.2.0.tgz", + "integrity": "sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.2.0.tgz", + "integrity": "sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.2.0.tgz", + "integrity": "sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.2.0.tgz", + "integrity": "sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==", + "dependencies": { + "@smithy/eventstream-codec": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz", + "integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.2.0.tgz", + "integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz", + "integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "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/@smithy/middleware-content-length": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz", + "integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.0.tgz", + "integrity": "sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==", + "dependencies": { + "@smithy/middleware-serde": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.2.0.tgz", + "integrity": "sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/service-error-classification": "^2.1.5", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz", + "integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz", + "integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz", + "integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==", + "dependencies": { + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz", + "integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==", + "dependencies": { + "@smithy/abort-controller": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.2.0.tgz", + "integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.3.0.tgz", + "integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz", + "integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-uri-escape": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz", + "integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", + "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", + "dependencies": { + "@smithy/types": "^2.12.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz", + "integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.2.0.tgz", + "integrity": "sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==", + "dependencies": { + "@smithy/eventstream-codec": "^2.2.0", + "@smithy/is-array-buffer": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-uri-escape": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.5.0.tgz", + "integrity": "sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", + "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.2.0.tgz", + "integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==", + "dependencies": { + "@smithy/querystring-parser": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.3.0.tgz", + "integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz", + "integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz", + "integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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/@smithy/util-config-provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz", + "integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.0.tgz", + "integrity": "sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==", + "dependencies": { + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.0.tgz", + "integrity": "sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==", + "dependencies": { + "@smithy/config-resolver": "^2.2.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz", + "integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz", + "integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.2.0.tgz", + "integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.2.0.tgz", + "integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==", + "dependencies": { + "@smithy/service-error-classification": "^2.1.5", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.2.0.tgz", + "integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz", + "integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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/@smithy/util-waiter": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.2.0.tgz", + "integrity": "sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==", + "peer": true, + "dependencies": { + "@smithy/abort-controller": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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==", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@types/node": { + "version": "20.11.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", + "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "optional": true, + "peer": true + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + }, + "node_modules/@wingcloud/framework": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingcloud/framework/-/framework-0.63.2.tgz", + "integrity": "sha512-4sU7In49N9ROS6IFE3ofGAdcx+TLtzpNPWl1akuoJ8SpEHq9qMsbqMEvJgmvVKstIWjT3VaxiVVpWRsByk/kKw==", + "peerDependencies": { + "@winglang/sdk": "*", + "typescript": "^5.3.3" + } + }, + "node_modules/@wingconsole/app": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingconsole/app/-/app-0.63.2.tgz", + "integrity": "sha512-9NMizuHrt6WzQylJnhepDG4d+EUncT2rc28L697+sCFmKcd8IEOgXYoWI8fWQovBZCNmOdswq00Ij4Kuvi1lbQ==", + "dependencies": { + "@segment/analytics-node": "^1.1.0", + "@wingconsole/server": "0.63.2", + "cross-spawn": "^7.0.3", + "express": "^4.18.2", + "open": "^8.4.2", + "picocolors": "^1.0.0" + } + }, + "node_modules/@wingconsole/server": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingconsole/server/-/server-0.63.2.tgz", + "integrity": "sha512-LDAfndDTmhnWTfzcpTzHa6FuC8ud27rGVqFII9A1kH6nX83ZFY0q7tVtDAqo/QG/oMX2TStsuwB8/EoLgXcPfg==", + "dependencies": { + "@winglang/compiler": "0.63.2", + "@winglang/sdk": "0.63.2", + "codespan-wasm": "^0.4.0", + "debug": "^4.3.4", + "launch-editor": "^2.6.0", + "ms": "^2.1.3" + } + }, + "node_modules/@winglang/compiler": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@winglang/compiler/-/compiler-0.63.2.tgz", + "integrity": "sha512-HSq/cIUgyparovBSxeABw2/kYEeLXhjQMZq0ALXpgOLjh4TPUp/xQYmXoxLxdr9p+MWuReyjPFpOa4FRPldiYQ==", + "bundleDependencies": [ + "wasi-js" + ], + "dependencies": { + "@wingcloud/framework": "0.63.2", + "@winglang/sdk": "0.63.2", + "wasi-js": "^1.7.3" + }, + "engines": { + "node": ">=v20.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/@cowasm/memfs": { + "version": "3.5.1", + "dev": true, + "inBundle": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/@wapython/unionfs": { + "version": "4.5.7", + "dev": true, + "inBundle": true, + "dependencies": { + "fs-monkey": "^1.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/debug": { + "version": "4.3.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/compiler/node_modules/fflate": { + "version": "0.7.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/compiler/node_modules/fs-monkey": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "Unlicense" + }, + "node_modules/@winglang/compiler/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/compiler/node_modules/path-browserify": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/compiler/node_modules/randombytes": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/@winglang/compiler/node_modules/randomfill": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/@winglang/compiler/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/compiler/node_modules/typedarray-to-buffer": { + "version": "4.0.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/compiler/node_modules/wasi-js": { + "version": "1.7.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@cowasm/memfs": "^3.5.1", + "@wapython/unionfs": "^4.5.7", + "debug": "^4.3.4", + "fflate": "^0.7.3", + "path-browserify": "^1.0.0", + "randomfill": "^1.0.4", + "typedarray-to-buffer": "^4.0.0" + }, + "bin": { + "wasi-run": "bin/run.js" + } + }, + "node_modules/@winglang/sdk": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@winglang/sdk/-/sdk-0.63.2.tgz", + "integrity": "sha512-KWeASOLdNHX3Iwf4R7hN0rrluuy5bbiaqNAhvivSkPQFJXk2x7kYaB70uZ2riVEg4QErKDlKxtbGuhdCZWZlKw==", + "bundleDependencies": [ + "@aws-sdk/client-cloudwatch-logs", + "@aws-sdk/client-dynamodb", + "@aws-sdk/client-elasticache", + "@aws-sdk/client-lambda", + "@aws-sdk/client-s3", + "@aws-sdk/client-secrets-manager", + "@aws-sdk/client-sns", + "@aws-sdk/client-sqs", + "@aws-sdk/s3-request-presigner", + "@aws-sdk/types", + "@aws-sdk/util-dynamodb", + "@azure/core-paging", + "@azure/data-tables", + "@azure/identity", + "@azure/storage-blob", + "@google-cloud/datastore", + "@google-cloud/storage", + "@smithy/util-stream", + "@smithy/util-utf8", + "@types/aws-lambda", + "@winglang/wingtunnels", + "ajv", + "cdktf", + "cron-parser", + "express", + "glob", + "google-auth-library", + "ioredis", + "jsonschema", + "mime", + "mime-types", + "nanoid", + "protobufjs", + "safe-stable-stringify", + "stacktracey", + "toml", + "ulid", + "uuid", + "yaml" + ], + "dependencies": { + "@aws-sdk/client-cloudwatch-logs": "3.490.0", + "@aws-sdk/client-dynamodb": "3.490.0", + "@aws-sdk/client-elasticache": "3.490.0", + "@aws-sdk/client-lambda": "3.490.0", + "@aws-sdk/client-s3": "3.490.0", + "@aws-sdk/client-secrets-manager": "3.490.0", + "@aws-sdk/client-sns": "3.490.0", + "@aws-sdk/client-sqs": "3.490.0", + "@aws-sdk/s3-request-presigner": "3.490.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-dynamodb": "3.490.0", + "@azure/core-paging": "^1.5.0", + "@azure/data-tables": "13.2.2", + "@azure/identity": "4.0.1", + "@azure/storage-blob": "12.14.0", + "@google-cloud/datastore": "8.4.0", + "@google-cloud/storage": "6.9.5", + "@smithy/util-stream": "2.0.17", + "@smithy/util-utf8": "2.0.0", + "@types/aws-lambda": "^8.10.119", + "@winglang/wingtunnels": "0.63.2", + "ajv": "^8.12.0", + "cdktf": "0.20.3", + "constructs": "^10.3", + "cron-parser": "^4.9.0", + "express": "^4.18.2", + "glob": "^8.1.0", + "google-auth-library": "^8.9.0", + "ioredis": "^5.3.2", + "jsonschema": "^1.4.1", + "mime": "^3.0.0", + "mime-types": "^2.1.35", + "nanoid": "^3.3.6", + "protobufjs": "7.2.5", + "safe-stable-stringify": "^2.4.3", + "stacktracey": "^2.1.8", + "toml": "^3.0.0", + "ulid": "^2.3.0", + "uuid": "^8.3.2", + "yaml": "^2.3.2" + }, + "engines": { + "node": ">= 20.0.0" + }, + "optionalDependencies": { + "esbuild": "^0.19.12" + }, + "peerDependencies": { + "constructs": "^10.3" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/crc32c": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha1-browser": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/util": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-cloudwatch-logs": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-endpoint-discovery": "3.489.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-elasticache": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-lambda": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-stream": "^2.0.24", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-s3": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha1-browser": "3.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-bucket-endpoint": "3.489.0", + "@aws-sdk/middleware-expect-continue": "3.489.0", + "@aws-sdk/middleware-flexible-checksums": "3.489.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-location-constraint": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-sdk-s3": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-ssec": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/signature-v4-multi-region": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@aws-sdk/xml-builder": "3.485.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-blob-browser": "^2.0.17", + "@smithy/hash-node": "^2.0.18", + "@smithy/hash-stream-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/md5-js": "^2.0.18", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-stream": "^2.0.24", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-secrets-manager": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sns": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sqs": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-sdk-sqs": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/md5-js": "^2.0.18", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sso": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sts": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/core": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^1.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.489.0", + "@aws-sdk/credential-provider-process": "3.489.0", + "@aws-sdk/credential-provider-sso": "3.490.0", + "@aws-sdk/credential-provider-web-identity": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.489.0", + "@aws-sdk/credential-provider-ini": "3.490.0", + "@aws-sdk/credential-provider-process": "3.489.0", + "@aws-sdk/credential-provider-sso": "3.490.0", + "@aws-sdk/credential-provider-web-identity": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.490.0", + "@aws-sdk/token-providers": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/endpoint-cache": { + "version": "3.465.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "mnemonist": "0.38.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/endpoint-cache": "3.465.0", + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.489.0", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-logger": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-signing": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.8.0", + "@smithy/util-middleware": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-ssec": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "@smithy/util-middleware": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-format-url": "3.489.0", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/token-providers": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/types": { + "version": "3.449.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-arn-parser": { + "version": "3.465.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-dynamodb": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-endpoints": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "@smithy/util-endpoints": "^1.0.8", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-format-url": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/querystring-builder": "^2.0.16", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/xml-builder": { + "version": "3.485.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/abort-controller": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-auth": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-client": { + "version": "1.7.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-http": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/core-util": "^1.1.1", + "@azure/logger": "^1.0.0", + "@types/node-fetch": "^2.5.0", + "@types/tunnel": "^0.0.3", + "form-data": "^4.0.0", + "node-fetch": "^2.6.7", + "process": "^0.11.10", + "tslib": "^2.2.0", + "tunnel": "^0.0.6", + "uuid": "^8.3.0", + "xml2js": "^0.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-lro": { + "version": "2.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-paging": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-rest-pipeline": { + "version": "1.12.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "form-data": "^4.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-tracing": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-util": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-xml": { + "version": "1.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-xml-parser": "^4.2.4", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/data-tables": { + "version": "13.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-xml": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/identity": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.4.0", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.5.0", + "@azure/msal-node": "^2.5.1", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/logger": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-browser": { + "version": "3.7.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "14.6.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-common": { + "version": "14.6.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-node": { + "version": "2.6.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/msal-common": "14.6.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/storage-blob": { + "version": "12.14.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-http": "^3.0.0", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/logger": "^1.0.0", + "events": "^3.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/datastore": { + "version": "8.4.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@google-cloud/promisify": "^4.0.0", + "arrify": "^2.0.1", + "concat-stream": "^2.0.0", + "extend": "^3.0.2", + "google-gax": "^4.0.5", + "is": "^3.3.0", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.5" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/paginator": { + "version": "3.0.7", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/projectify": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/promisify": { + "version": "4.0.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/storage": { + "version": "6.9.5", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@google-cloud/paginator": "^3.0.7", + "@google-cloud/projectify": "^3.0.0", + "@google-cloud/promisify": "^3.0.0", + "abort-controller": "^3.0.0", + "async-retry": "^1.3.3", + "compressible": "^2.0.12", + "duplexify": "^4.0.0", + "ent": "^2.2.0", + "extend": "^3.0.2", + "gaxios": "^5.0.0", + "google-auth-library": "^8.0.1", + "mime": "^3.0.0", + "mime-types": "^2.0.8", + "p-limit": "^3.0.1", + "retry-request": "^5.0.0", + "teeny-request": "^8.0.0", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/@grpc/grpc-js": { + "version": "1.9.9", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@grpc/proto-loader": { + "version": "0.7.10", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/@ioredis/commands": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/base64": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/float": { + "version": "1.0.2", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/path": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/pool": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/@smithy/abort-controller": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/chunked-blob-reader": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/config-resolver": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/core": { + "version": "1.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/credential-provider-imds": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-codec": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-universal": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/fetch-http-handler": { + "version": "2.4.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-blob-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/chunked-blob-reader": "^2.1.1", + "@smithy/chunked-blob-reader-native": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-stream-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/invalid-dependency": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/is-array-buffer": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/md5-js": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-content-length": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-endpoint": { + "version": "2.4.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-retry": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-serde": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-stack": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/node-config-provider": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/node-http-handler": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/property-provider": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/protocol-http": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/querystring-builder": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/querystring-parser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/service-error-classification": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/shared-ini-file-loader": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/signature-v4": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/smithy-client": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/types": { + "version": "2.9.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/url-parser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-base64": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-body-length-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-body-length-node": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-buffer-from": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-config-provider": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-defaults-mode-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-endpoints": { + "version": "1.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-hex-encoding": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-middleware": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-retry": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-stream": { + "version": "2.0.17", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/types": "^2.4.0", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-uri-escape": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-waiter": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/aws-lambda": { + "version": "8.10.124", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@types/caseless": { + "version": "0.12.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@types/long": { + "version": "4.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@types/ms": { + "version": "0.7.34", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@types/node": { + "version": "20.11.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/node-fetch": { + "version": "2.6.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/request": { + "version": "2.48.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/tough-cookie": { + "version": "4.0.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@types/tunnel": { + "version": "0.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels": { + "version": "0.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.9", + "@types/node": "^20.11.19", + "@types/ws": "^8.5.7", + "debug": "^4.3.4", + "ws": "^8.14.2" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/debug": { + "version": "4.1.12", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/node": { + "version": "20.11.20", + "inBundle": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/ws": { + "version": "8.5.10", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack": { + "version": "0.0.0", + "extraneous": true, + "inBundle": true, + "dependencies": { + "@actions/core": "^1.10.1", + "@pnpm/find-workspace-dir": "^6.0.2", + "@pnpm/reviewing.dependencies-hierarchy": "^2.0.10", + "@pnpm/workspace.find-packages": "^1.0.5", + "changelogen": "^0.5.5", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "npm-which": "^3.0.1", + "semver": "^7.5.4", + "tsx": "^4.7.0" + }, + "bin": { + "bump-pack": "bin/bump-pack.cjs", + "link-bundles": "bin/link-bundles.cjs", + "turbo-diff": "bin/turbo-diff.cjs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@actions/core": { + "version": "1.10.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/find-workspace-dir": { + "version": "6.0.2", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/error": "5.0.2", + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/reviewing.dependencies-hierarchy": { + "version": "2.1.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/dependency-path": "2.1.4", + "@pnpm/lockfile-file": "8.1.3", + "@pnpm/lockfile-utils": "8.0.6", + "@pnpm/matcher": "5.0.0", + "@pnpm/modules-yaml": "12.1.3", + "@pnpm/normalize-registries": "5.0.3", + "@pnpm/npm-package-arg": "^1.0.0", + "@pnpm/read-modules-dir": "6.0.1", + "@pnpm/read-package-json": "8.0.4", + "@pnpm/types": "9.3.0", + "normalize-path": "^3.0.0", + "realpath-missing": "^1.1.0", + "resolve-link-target": "^2.0.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/workspace.find-packages": { + "version": "1.0.13", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/cli-utils": "2.0.23", + "@pnpm/constants": "7.1.1", + "@pnpm/fs.find-packages": "2.0.7", + "@pnpm/types": "9.3.0", + "@pnpm/util.lex-comparator": "1.0.0", + "read-yaml-file": "^2.1.0" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + }, + "peerDependencies": { + "@pnpm/logger": "^5.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/fs-extra": { + "version": "11.0.2", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/node": { + "version": "20.11.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/semver": { + "version": "7.5.3", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/changelogen": { + "version": "0.5.5", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "c12": "^1.4.2", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "convert-gitmoji": "^0.1.3", + "execa": "^8.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.2.0", + "ofetch": "^1.1.1", + "open": "^9.1.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "semver": "^7.5.4", + "std-env": "^3.4.2", + "yaml": "^2.3.1" + }, + "bin": { + "changelogen": "dist/cli.mjs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/fs-extra": { + "version": "11.1.1", + "extraneous": 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/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/minimatch": { + "version": "9.0.3", + "extraneous": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/npm-which": { + "version": "3.0.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + }, + "bin": { + "npm-which": "bin/npm-which.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/semver": { + "version": "7.5.4", + "extraneous": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/tsx": { + "version": "4.7.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.19.10", + "get-tsconfig": "^4.7.2" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/typescript": { + "version": "5.2.2", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/vitest": { + "version": "0.34.6", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/tsup": { + "version": "6.7.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.17.6", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^3.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/typescript": { + "version": "5.3.3", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/vitest": { + "version": "0.34.6", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/ws": { + "version": "8.14.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/abort-controller": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/@winglang/sdk/node_modules/accepts": { + "version": "1.3.8", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/agent-base": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/ajv": { + "version": "8.12.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@winglang/sdk/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/ansi-styles": { + "version": "4.3.0", + "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/@winglang/sdk/node_modules/array-flatten": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/arrify": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/as-table": { + "version": "1.0.55", + "inBundle": true, + "license": "MIT", + "dependencies": { + "printable-characters": "^1.0.42" + } + }, + "node_modules/@winglang/sdk/node_modules/async-retry": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "retry": "0.13.1" + } + }, + "node_modules/@winglang/sdk/node_modules/asynckit": { + "version": "0.4.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/bignumber.js": { + "version": "9.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/body-parser": { + "version": "1.20.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@winglang/sdk/node_modules/bowser": { + "version": "2.11.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/@winglang/sdk/node_modules/buffer-from": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/bytes": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf": { + "version": "0.20.3", + "bundleDependencies": [ + "archiver", + "json-stable-stringify", + "semver" + ], + "inBundle": true, + "license": "MPL-2.0", + "dependencies": { + "archiver": "6.0.1", + "json-stable-stringify": "1.1.0", + "semver": "7.5.4" + }, + "peerDependencies": { + "constructs": "^10.0.25" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/archiver": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^4.0.1", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^5.0.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/archiver-utils": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "glob": "^8.0.0", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/async": { + "version": "3.2.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/b4a": { + "version": "1.6.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/buffer-crc32": { + "version": "0.2.13", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/compress-commons": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^5.0.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/core-util-is": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/crc-32": { + "version": "1.2.2", + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/crc32-stream": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/fast-fifo": { + "version": "1.3.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/isarray": { + "version": "2.0.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/json-stable-stringify": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/jsonify": { + "version": "0.0.1", + "inBundle": true, + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT", + "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/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lodash": { + "version": "4.17.21", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/normalize-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/object-keys": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/process-nextick-args": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/queue-tick": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/readdir-glob": { + "version": "1.1.3", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/semver": { + "version": "7.5.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/set-function-length": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/streamx": { + "version": "2.15.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/tar-stream": { + "version": "3.1.6", + "inBundle": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/zip-stream": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^4.0.1", + "compress-commons": "^5.0.1", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cliui": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/cluster-key-slot": { + "version": "1.1.2", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/combined-stream": { + "version": "1.0.8", + "inBundle": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/compressible": { + "version": "2.0.18", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/concat-stream": { + "version": "2.0.0", + "engines": [ + "node >= 6.0" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/content-disposition": { + "version": "0.5.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/content-type": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/cookie": { + "version": "0.5.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/cookie-signature": { + "version": "1.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/cron-parser": { + "version": "4.9.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "luxon": "^3.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/data-uri-to-buffer": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/define-lazy-prop": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/delayed-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/denque": { + "version": "2.1.0", + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/depd": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/destroy": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@winglang/sdk/node_modules/duplexify": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/ee-first": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/encodeurl": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/end-of-stream": { + "version": "1.4.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/ent": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/escalade": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/escape-html": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/etag": { + "version": "1.8.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/event-target-shim": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/events": { + "version": "3.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/@winglang/sdk/node_modules/express": { + "version": "4.18.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/extend": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/fast-text-encoding": { + "version": "1.0.6", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/@winglang/sdk/node_modules/fast-xml-parser": { + "version": "4.2.5", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/@winglang/sdk/node_modules/finalhandler": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/form-data": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/forwarded": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/fresh": { + "version": "0.5.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/gaxios": { + "version": "6.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/gcp-metadata": { + "version": "6.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^6.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/get-caller-file": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/@winglang/sdk/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/get-source": { + "version": "2.0.12", + "inBundle": true, + "license": "Unlicense", + "dependencies": { + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" + } + }, + "node_modules/@winglang/sdk/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/google-auth-library": { + "version": "8.9.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^5.0.0", + "gcp-metadata": "^5.3.0", + "gtoken": "^6.1.0", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/google-gax": { + "version": "4.0.5", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@grpc/grpc-js": "~1.9.6", + "@grpc/proto-loader": "^0.7.0", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "google-auth-library": "^9.0.0", + "node-fetch": "^2.6.1", + "object-hash": "^3.0.0", + "proto3-json-serializer": "^2.0.0", + "protobufjs": "7.2.5", + "retry-request": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/gtoken": { + "version": "7.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "gaxios": "^6.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/http-errors": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/https-proxy-agent": { + "version": "7.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/iconv-lite": { + "version": "0.4.24", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/ioredis": { + "version": "5.3.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/@winglang/sdk/node_modules/ipaddr.js": { + "version": "1.9.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/is": { + "version": "3.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/is-docker": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/is-stream": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/is-stream-ended": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/is-wsl": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/json-bigint": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/json-schema-traverse": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/jsonschema": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/jsonwebtoken": { + "version": "9.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/jwa": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/jws": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/lodash.camelcase": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.defaults": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.includes": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isarguments": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isboolean": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isinteger": { + "version": "4.0.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isnumber": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isplainobject": { + "version": "4.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.isstring": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/lodash.once": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/long": { + "version": "5.2.3", + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/@winglang/sdk/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/luxon": { + "version": "3.4.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/media-typer": { + "version": "0.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/merge-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/methods": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/mime": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/mime-db": { + "version": "1.52.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/mime-types": { + "version": "2.1.35", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/mnemonist": { + "version": "0.38.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "obliterator": "^1.6.1" + } + }, + "node_modules/@winglang/sdk/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "inBundle": true, + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/node-fetch": { + "version": "2.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/object-hash": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/object-inspect": { + "version": "1.12.3", + "inBundle": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/obliterator": { + "version": "1.6.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/on-finished": { + "version": "2.4.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/open": { + "version": "8.4.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/p-limit": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/parseurl": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/path-to-regexp": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/printable-characters": { + "version": "1.0.42", + "inBundle": true, + "license": "Unlicense" + }, + "node_modules/@winglang/sdk/node_modules/process": { + "version": "0.11.10", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/@winglang/sdk/node_modules/proto3-json-serializer": { + "version": "2.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "protobufjs": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/protobufjs": { + "version": "7.2.5", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/proxy-addr": { + "version": "2.0.7", + "inBundle": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/punycode": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/qs": { + "version": "6.11.0", + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/range-parser": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/raw-body": { + "version": "2.5.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/redis-errors": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@winglang/sdk/node_modules/redis-parser": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@winglang/sdk/node_modules/require-directory": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/require-from-string": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/retry": { + "version": "0.13.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@winglang/sdk/node_modules/retry-request": { + "version": "7.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/request": "^2.48.8", + "debug": "^4.1.1", + "extend": "^3.0.2", + "teeny-request": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/safe-stable-stringify": { + "version": "2.4.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/sax": { + "version": "1.3.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/semver": { + "version": "7.5.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/send": { + "version": "0.18.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/serve-static": { + "version": "1.15.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/set-function-length": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/setprototypeof": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/side-channel": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/source-map": { + "version": "0.6.1", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/split-array-stream": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-stream-ended": "^0.1.4" + } + }, + "node_modules/@winglang/sdk/node_modules/stacktracey": { + "version": "2.1.8", + "inBundle": true, + "license": "Unlicense", + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, + "node_modules/@winglang/sdk/node_modules/standard-as-callback": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/statuses": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/stoppable": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/stream-events": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "dependencies": { + "stubs": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/stream-shift": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/string-width": { + "version": "4.2.3", + "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/@winglang/sdk/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/strnum": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/stubs": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/teeny-request": { + "version": "9.0.0", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.9", + "stream-events": "^1.0.5", + "uuid": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/toidentifier": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/toml": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/tr46": { + "version": "0.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/tslib": { + "version": "2.6.2", + "inBundle": true, + "license": "0BSD" + }, + "node_modules/@winglang/sdk/node_modules/tunnel": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/@winglang/sdk/node_modules/type-is": { + "version": "1.6.18", + "inBundle": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/typedarray": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/ulid": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/@winglang/sdk/node_modules/undici-types": { + "version": "5.26.5", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/unpipe": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/uri-js": { + "version": "4.4.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/utils-merge": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/uuid": { + "version": "8.3.2", + "inBundle": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@winglang/sdk/node_modules/vary": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/webidl-conversions": { + "version": "3.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/@winglang/sdk/node_modules/whatwg-url": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/wrap-ansi": { + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@winglang/sdk/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/xml2js": { + "version": "0.5.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/xmlbuilder": { + "version": "11.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/y18n": { + "version": "5.0.8", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/@winglang/sdk/node_modules/yaml": { + "version": "2.3.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/yargs": { + "version": "17.7.2", + "inBundle": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/yargs-parser": { + "version": "21.1.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/yocto-queue": { + "version": "0.1.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglibs/containers": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/@winglibs/containers/-/containers-0.0.22.tgz", + "integrity": "sha512-/07HrqJ+aF4C+Vzu5thydvBPz9I7EgWXGEGaD/mRJHbtNU9jCNP2vkKPZD0W7Rum0q/eYYoU7u6PT8yjPf3kMQ==", + "peer": true, + "dependencies": { + "@cdktf/provider-aws": "^18.0.5", + "@cdktf/provider-docker": "^10.0.0", + "@cdktf/provider-helm": "^9.0.0", + "@cdktf/provider-kubernetes": "^10.0.0", + "@cdktf/provider-null": "^9.0.0", + "cdk8s-plus-27": "^2.7.33", + "glob": "^10.3.10" + }, + "engines": { + "wing": "*" + }, + "peerDependencies": { + "cdktf": "*", + "winglang": "*" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-aws": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-aws/-/provider-aws-18.2.0.tgz", + "integrity": "sha512-Dm+ORqd9ttGH8PqdDe4q72QHoHO0BfgBEMDasagcP4b0lhYV3oiYxJtHsqdOJEKiv6EvHZT3/iftXwU2uOjnlA==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-docker": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-docker/-/provider-docker-10.0.0.tgz", + "integrity": "sha512-lV2nLIwOM6v8wxjRg7wHSaXzs0gu7MK5JKFEKwP1u3lMFqprDOtqQJ2qO82K8Je7Q6gxkfwaAyZsa33BVVO/pg==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.0.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-helm": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@cdktf/provider-helm/-/provider-helm-9.0.2.tgz", + "integrity": "sha512-+xhUJtxPi2wLjPe1ZuQsMHrtMdV+90F90qiK7bKp4CNIkzZQ++wrSmw4DKUR6UWve9B4Xp+bX1B1U+9rZJxaCg==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-kubernetes": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@cdktf/provider-kubernetes/-/provider-kubernetes-10.1.1.tgz", + "integrity": "sha512-Z8SvVCKps4+lGEtiaoTfj7IVeYSRqkdcyImvSy4bAebXenCmH7dZc4jyubb7DPXUyTx7J+NJuDZzjsYpUQXo5w==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-null": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@cdktf/provider-null/-/provider-null-9.0.1.tgz", + "integrity": "sha512-unmz1i944Y0gIavZTYl54jZBXQh95i21SStCRqRfiFyrsc88aw665HJt1G69uQXK3VtPuwjFSSVsG9UMRmZh6A==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.0.0" + } + }, + "node_modules/@winglibs/dynamodb": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@winglibs/dynamodb/-/dynamodb-0.0.3.tgz", + "integrity": "sha512-FLNToKDoWK/K9OeRa4VXjl+qWGzoHXBQd3amnneqNjyLiIM1n0DjAPZF+K0KT4G26y+CWB9Mc1DftdXkUood/g==", + "engines": { + "wing": "*" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.461.0", + "@aws-sdk/client-dynamodb-streams": "^3.461.0", + "@aws-sdk/lib-dynamodb": "^3.462.0", + "@aws-sdk/util-dynamodb": "^3.529.1", + "@cdktf/provider-aws": "^19.9.0", + "@winglibs/containers": "^0.0.22", + "get-port": "^7.0.0" + } + }, + "node_modules/@winglibs/sagemaker": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@winglibs/sagemaker/-/sagemaker-0.0.3.tgz", + "integrity": "sha512-gtleyI1UzQB7gPZ/auyxjAeATjcQ5ZBCfev4Y6zVMgsoYxhY0jlmEN57/bqnteWDx17vxdXWoG42VB4AHB2qGA==", + "dependencies": { + "@aws-sdk/client-sagemaker-runtime": "^3.507.0" + }, + "engines": { + "wing": "*" + } + }, + "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==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "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==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "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==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==" + }, + "node_modules/are-we-there-yet": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz", + "integrity": "sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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==" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "optional": true, + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "optional": true, + "peer": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/backport": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/backport/-/backport-8.5.0.tgz", + "integrity": "sha512-gX8v+l+BTue2lmmqD/yQiR6JUUY+5OWNZTI1qyusViqC9R2iv4YFPqT23IcJfpYqlYb3DOiwunfVjKLickdQ6g==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "@octokit/rest": "^18.12.0", + "axios": "^0.27.2", + "dedent": "^0.7.0", + "del": "^6.1.1", + "dotenv": "^16.0.1", + "find-up": "^5.0.0", + "graphql": "^16.5.0", + "graphql-tag": "^2.12.6", + "inquirer": "^8.2.3", + "lodash": "^4.17.21", + "make-dir": "^3.1.0", + "ora": "^5.4.1", + "safe-json-stringify": "^1.2.0", + "strip-json-comments": "^3.1.1", + "terminal-link": "^2.1.1", + "utility-types": "^3.10.0", + "winston": "^3.7.2", + "yargs": "^17.5.1", + "yargs-parser": "^21.0.1" + }, + "bin": { + "backport": "bin/backport" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "optional": true, + "peer": true + }, + "node_modules/bin-links": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.3.tgz", + "integrity": "sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA==", + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-search": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", + "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "peer": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cdk8s": { + "version": "2.68.46", + "resolved": "https://registry.npmjs.org/cdk8s/-/cdk8s-2.68.46.tgz", + "integrity": "sha512-dTT0ug2XeWnov5rAEeRUu0R8J7/mVPInBHH8QqCADDWvBShT/76yJsdkKj0Q2he0RluOtWabwXACCW1DeOlqxg==", + "bundleDependencies": [ + "fast-json-patch", + "follow-redirects", + "yaml" + ], + "peer": true, + "dependencies": { + "fast-json-patch": "^3.1.1", + "follow-redirects": "^1.15.2", + "yaml": "2.3.2" + }, + "engines": { + "node": ">= 16.20.0" + }, + "optionalDependencies": { + "backport": "8.5.0" + }, + "peerDependencies": { + "constructs": "^10" + } + }, + "node_modules/cdk8s-plus-27": { + "version": "2.7.84", + "resolved": "https://registry.npmjs.org/cdk8s-plus-27/-/cdk8s-plus-27-2.7.84.tgz", + "integrity": "sha512-mC6PaxwqRNvKnVvfT0DX8Jr42qyiwfiynT0ROq3vxF12su9V8gGjLqWFC6tuhj64Pxvo5I2atyRYeGVhnElh5Q==", + "bundleDependencies": [ + "minimatch" + ], + "peer": true, + "dependencies": { + "minimatch": "^3.1.2" + }, + "engines": { + "node": ">= 16.20.0" + }, + "optionalDependencies": { + "backport": "8.5.0" + }, + "peerDependencies": { + "cdk8s": "^2.68.11", + "constructs": "^10.3.0" + } + }, + "node_modules/cdk8s-plus-27/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s-plus-27/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s-plus-27/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cdk8s-plus-27/node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cdk8s/node_modules/fast-json-patch": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s/node_modules/follow-redirects": { + "version": "1.15.5", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/cdk8s/node_modules/yaml": { + "version": "2.3.2", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/cdktf": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/cdktf/-/cdktf-0.20.5.tgz", + "integrity": "sha512-CA0RkrKJETnaxGG6fBQHiojTZ8Sl+MCYsISbOqYYRfakHaM9mN4/a0v0bH1u5zi9ODyjyUmjfh7BqGfZagMjRw==", + "bundleDependencies": [ + "archiver", + "json-stable-stringify", + "semver" + ], + "peer": true, + "dependencies": { + "archiver": "6.0.2", + "json-stable-stringify": "1.1.1", + "semver": "7.6.0" + }, + "peerDependencies": { + "constructs": "^10.0.25" + } + }, + "node_modules/cdktf/node_modules/archiver": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^5.0.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/archiver-utils": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^8.0.0", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/async": { + "version": "3.2.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/b4a": { + "version": "1.6.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cdktf/node_modules/buffer-crc32": { + "version": "0.2.13", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/cdktf/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/compress-commons": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^5.0.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/core-util-is": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/crc-32": { + "version": "1.2.2", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cdktf/node_modules/crc32-stream": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/fast-fifo": { + "version": "1.3.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cdktf/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/cdktf/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/isarray": { + "version": "2.0.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/json-stable-stringify": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/jsonify": { + "version": "0.0.1", + "inBundle": true, + "license": "Public Domain", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/lazystream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT", + "peer": 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/cdktf/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/cdktf/node_modules/lodash": { + "version": "4.17.21", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/normalize-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cdktf/node_modules/object-keys": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/cdktf/node_modules/process-nextick-args": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/queue-tick": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cdktf/node_modules/readdir-glob": { + "version": "1.1.3", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/cdktf/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/semver": { + "version": "7.6.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/set-function-length": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/streamx": { + "version": "2.15.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/cdktf/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/cdktf/node_modules/tar-stream": { + "version": "3.1.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/cdktf/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/zip-stream": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "compress-commons": "^5.0.1", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "optional": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cmd-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.2.tgz", + "integrity": "sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/codespan-wasm": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/codespan-wasm/-/codespan-wasm-0.4.0.tgz", + "integrity": "sha512-TVS9MyHIeTV1Zm/wBpgjY1Lyx49Ikj7mccrBrCwWc0/oM7MoeHtVPWwM+Q9CBKWJTZLwp7D1s8PT6NnCqvQrhA==", + "dependencies": { + "debug": "^4.3.4" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "optional": true, + "peer": true + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "optional": true, + "peer": true, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" + }, + "node_modules/compare-versions": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", + "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "optional": true, + "peer": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/constructs": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.3.0.tgz", + "integrity": "sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==", + "engines": { + "node": ">= 16.14.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "optional": true, + "peer": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "optional": true, + "peer": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "optional": true, + "peer": true + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/digest-fetch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", + "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", + "dependencies": { + "base-64": "^0.1.0", + "md5": "^2.3.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "optional": true, + "peer": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "engines": { + "node": ">=12" + } + }, + "node_modules/dset": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "optional": true, + "peer": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, + "node_modules/expr-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz", + "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==" + }, + "node_modules/express": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "optional": true, + "peer": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "optional": true, + "peer": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "optional": true, + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "optional": true, + "peer": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/formdata-node/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "optional": true, + "peer": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz", + "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^4.0.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "optional": true, + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", + "peer": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "optional": true, + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/google-p12-pem": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz", + "integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==", + "dependencies": { + "node-forge": "^1.3.1" + }, + "bin": { + "gp12-pem": "build/src/bin/gp12-pem.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "optional": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "optional": true, + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "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_modules/ionstore": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ionstore/-/ionstore-1.0.0.tgz", + "integrity": "sha512-ikEvmeZFh9u5SkjKbFqJlmmhaQTulB3P7QoSoZ/xL8EDP5uj5QWbPeKcQ8ZJtszBLHRRnhIJJE8P1dhFx/oCMw==" + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-any-array": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "optional": true, + "peer": true + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=16" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-tiktoken": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.10.tgz", + "integrity": "sha512-ZoSxbGjvGyMT13x6ACo9ebhDha/0FHdKA+OsQcMOWcm1Zs7r90Rhk5lhERLzji+3rA7EKpXCgwXcM5fF3DMpdA==", + "dependencies": { + "base64-js": "^1.5.1" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/just-diff": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==" + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==" + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "optional": true, + "peer": true + }, + "node_modules/langchain": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.1.28.tgz", + "integrity": "sha512-LNuILtOSFptfOqDwUwQAl7B0dYrBtxzVZ6lDhc5DA8rk+pyTCy12HQO7t8bGqC8oQlEPYPKaom8VRlvfupUBTw==", + "dependencies": { + "@anthropic-ai/sdk": "^0.9.1", + "@langchain/community": "~0.0.36", + "@langchain/core": "~0.1.44", + "@langchain/openai": "~0.0.19", + "binary-extensions": "^2.2.0", + "expr-eval": "^2.0.2", + "js-tiktoken": "^1.0.7", + "js-yaml": "^4.1.0", + "jsonpointer": "^5.0.1", + "langchainhub": "~0.0.8", + "langsmith": "~0.1.7", + "ml-distance": "^4.0.0", + "openapi-types": "^12.1.3", + "p-retry": "4", + "uuid": "^9.0.0", + "yaml": "^2.2.1", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@aws-sdk/client-s3": "^3.310.0", + "@aws-sdk/client-sagemaker-runtime": "^3.310.0", + "@aws-sdk/client-sfn": "^3.310.0", + "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/storage-blob": "^12.15.0", + "@gomomento/sdk": "^1.51.1", + "@gomomento/sdk-core": "^1.51.1", + "@gomomento/sdk-web": "^1.51.1", + "@google-ai/generativelanguage": "^0.2.1", + "@google-cloud/storage": "^6.10.1 || ^7.7.0", + "@notionhq/client": "^2.2.10", + "@pinecone-database/pinecone": "*", + "@supabase/supabase-js": "^2.10.0", + "@vercel/kv": "^0.2.3", + "@xata.io/client": "^0.28.0", + "apify-client": "^2.7.1", + "assemblyai": "^4.0.0", + "axios": "*", + "cheerio": "^1.0.0-rc.12", + "chromadb": "*", + "convex": "^1.3.1", + "couchbase": "^4.2.10", + "d3-dsv": "^2.0.0", + "epub2": "^3.0.1", + "fast-xml-parser": "*", + "google-auth-library": "^8.9.0", + "handlebars": "^4.7.8", + "html-to-text": "^9.0.5", + "ignore": "^5.2.0", + "ioredis": "^5.3.2", + "jsdom": "*", + "mammoth": "^1.6.0", + "mongodb": ">=5.2.0", + "node-llama-cpp": "*", + "notion-to-md": "^3.1.0", + "officeparser": "^4.0.4", + "pdf-parse": "1.1.1", + "peggy": "^3.0.2", + "playwright": "^1.32.1", + "puppeteer": "^19.7.2", + "pyodide": "^0.24.1", + "redis": "^4.6.4", + "sonix-speech-recognition": "^2.1.1", + "srt-parser-2": "^1.2.3", + "typeorm": "^0.3.12", + "weaviate-ts-client": "*", + "web-auth-library": "^1.0.3", + "ws": "^8.14.2", + "youtube-transcript": "^1.0.6", + "youtubei.js": "^9.1.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/client-s3": { + "optional": true + }, + "@aws-sdk/client-sagemaker-runtime": { + "optional": true + }, + "@aws-sdk/client-sfn": { + "optional": true + }, + "@aws-sdk/credential-provider-node": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@gomomento/sdk": { + "optional": true + }, + "@gomomento/sdk-core": { + "optional": true + }, + "@gomomento/sdk-web": { + "optional": true + }, + "@google-ai/generativelanguage": { + "optional": true + }, + "@google-cloud/storage": { + "optional": true + }, + "@notionhq/client": { + "optional": true + }, + "@pinecone-database/pinecone": { + "optional": true + }, + "@supabase/supabase-js": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "apify-client": { + "optional": true + }, + "assemblyai": { + "optional": true + }, + "axios": { + "optional": true + }, + "cheerio": { + "optional": true + }, + "chromadb": { + "optional": true + }, + "convex": { + "optional": true + }, + "couchbase": { + "optional": true + }, + "d3-dsv": { + "optional": true + }, + "epub2": { + "optional": true + }, + "faiss-node": { + "optional": true + }, + "fast-xml-parser": { + "optional": true + }, + "google-auth-library": { + "optional": true + }, + "handlebars": { + "optional": true + }, + "html-to-text": { + "optional": true + }, + "ignore": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "mammoth": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "node-llama-cpp": { + "optional": true + }, + "notion-to-md": { + "optional": true + }, + "officeparser": { + "optional": true + }, + "pdf-parse": { + "optional": true + }, + "peggy": { + "optional": true + }, + "playwright": { + "optional": true + }, + "puppeteer": { + "optional": true + }, + "pyodide": { + "optional": true + }, + "redis": { + "optional": true + }, + "sonix-speech-recognition": { + "optional": true + }, + "srt-parser-2": { + "optional": true + }, + "typeorm": { + "optional": true + }, + "weaviate-ts-client": { + "optional": true + }, + "web-auth-library": { + "optional": true + }, + "ws": { + "optional": true + }, + "youtube-transcript": { + "optional": true + }, + "youtubei.js": { + "optional": true + } + } + }, + "node_modules/langchain/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/langchainhub": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/langchainhub/-/langchainhub-0.0.8.tgz", + "integrity": "sha512-Woyb8YDHgqqTOZvWIbm2CaFDGfZ4NTSyXV687AG4vXEfoNo7cGQp7nhl7wL3ehenKWmNEmcxCLgOZzW8jE6lOQ==" + }, + "node_modules/langsmith": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.14.tgz", + "integrity": "sha512-iEzQLLB7/0nRpAwNBAR7B7N64fyByg5UsNjSvLaCCkQ9AS68PSafjB8xQkyI8QXXrGjU1dEqDRoa8m4SUuRdUw==", + "dependencies": { + "@types/uuid": "^9.0.1", + "commander": "^10.0.1", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0" + } + }, + "node_modules/langsmith/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/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "optional": true, + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "optional": true, + "peer": true, + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "optional": true, + "peer": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "optional": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "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", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "optional": true, + "peer": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ml-array-mean": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", + "integrity": "sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==", + "dependencies": { + "ml-array-sum": "^1.1.6" + } + }, + "node_modules/ml-array-sum": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", + "integrity": "sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-distance": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.1.tgz", + "integrity": "sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==", + "dependencies": { + "ml-array-mean": "^1.1.6", + "ml-distance-euclidean": "^2.0.0", + "ml-tree-similarity": "^1.0.0" + } + }, + "node_modules/ml-distance-euclidean": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", + "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" + }, + "node_modules/ml-tree-similarity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", + "integrity": "sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==", + "dependencies": { + "binary-search": "^1.3.5", + "num-sort": "^2.0.0" + } + }, + "node_modules/mnemonist": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", + "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "peer": true, + "dependencies": { + "obliterator": "^1.6.1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "dependencies": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npmlog": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz", + "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==", + "dependencies": { + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/num-sort": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz", + "integrity": "sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", + "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==", + "peer": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "optional": true, + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "optional": true, + "peer": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openai": { + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.29.2.tgz", + "integrity": "sha512-cPkT6zjEcE4qU5OW/SoDDuXEsdOLrXlAORhzmaguj5xZSPlgKvLhi27sFWhLKj07Y6WKNWxcwIbzm512FzTBNQ==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + }, + "bin": { + "openai": "bin/cli" + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==" + }, + "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==", + "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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "optional": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "optional": true, + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pacote": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", + "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parse-conflict-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-call-limit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.1.tgz", + "integrity": "sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "peer": true + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cmd-shim": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "optional": true, + "peer": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "optional": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/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==", + "optional": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "optional": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "peer": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "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==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true, + "peer": true + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.2.tgz", + "integrity": "sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==", + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/sign": "^2.2.3", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "optional": true, + "peer": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==" + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "optional": true, + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "optional": true, + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "optional": true, + "peer": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/tiny-colors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tiny-colors/-/tiny-colors-2.1.2.tgz", + "integrity": "sha512-6peGRBtkYBJpVrQUWOPKrC0ECo6WotUlXxirVTKvihjdgxQETpKtLdCKIb68IHjJYH1AOE7GM7RnxFvkGHsqOg==" + }, + "node_modules/tiny-updater": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/tiny-updater/-/tiny-updater-3.5.1.tgz", + "integrity": "sha512-kh1922FSNPTmrdr353x+xJRTrrVFl9zq/Q1Vz47YNWhTO0jn3ZyZd6Cahe8qW5MLXg+gia+0G7b6HIgW7pbBMg==", + "dependencies": { + "ionstore": "^1.0.0", + "tiny-colors": "^2.0.2", + "when-exit": "^2.1.1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/treeverse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tuf-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "optional": true, + "peer": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz", + "integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz", + "integrity": "sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==", + "dependencies": { + "vscode-languageserver-protocol": "3.17.3" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz", + "integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==", + "dependencies": { + "vscode-jsonrpc": "8.1.0", + "vscode-languageserver-types": "3.17.3" + } + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==" + }, + "node_modules/walk-up-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", + "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/when-exit": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.2.tgz", + "integrity": "sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==" + }, + "node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/winglang": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/winglang/-/winglang-0.63.2.tgz", + "integrity": "sha512-gXqx8BIihLXwDqwYdvuez8cohA0Kw7b7tGG+ErIjKt+TIsZgGMyefkUZK5pnjKfovpzEeCqTwg4wh3/zezMFvw==", + "dependencies": { + "@npmcli/arborist": "^7.2.0", + "@segment/analytics-node": "^1.1.0", + "@wingconsole/app": "0.63.2", + "@wingconsole/server": "0.63.2", + "@winglang/compiler": "0.63.2", + "@winglang/sdk": "0.63.2", + "chalk": "^4.1.2", + "codespan-wasm": "0.4.0", + "commander": "^10.0.1", + "compare-versions": "^5.0.3", + "debug": "^4.3.4", + "dotenv": "^16.3.1", + "dotenv-expand": "^10.0.0", + "glob": "^10.3.10", + "inquirer": "^8", + "nanoid": "^3.3.6", + "npm-packlist": "^8.0.0", + "open": "^8.4.2", + "ora": "^5.4.1", + "tar": "^6.2.0", + "tiny-updater": "^3.5.1", + "uuid": "^8.3.2", + "vscode-languageserver": "^8.1.0" + }, + "bin": { + "wing": "bin/wing" + }, + "engines": { + "node": ">=v18.0.0" + } + }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "optional": true, + "peer": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "optional": true, + "peer": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "optional": true, + "peer": true + }, + "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==", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "optional": true, + "peer": 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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.22.5.tgz", + "integrity": "sha512-+akaPo6a0zpVCCseDed504KBJUQpEW5QZw7RMneNmKw+fGaML1Z9tUNLnHHAC8x6dzVRO1eB2oEMyZRnuBZg7Q==", + "peerDependencies": { + "zod": "^3.22.4" + } + } + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package.json new file mode 100644 index 00000000..010022dd --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-ts/package.json @@ -0,0 +1,22 @@ +{ + "name": "wing-chatbot-ts", + "version": "0.0.0", + "description": "A description of my Wing application", + "author": "Your Name", + "license": "MIT", + "scripts": { + "compile": "wing compile main.ts", + "test": "wing test main.ts" + }, + "dependencies": { + "@langchain/community": "^0.0.42", + "@wingcloud/framework": "^0.63.2", + "@winglibs/dynamodb": "^0.0.3", + "@winglibs/sagemaker": "^0.0.3", + "langchain": "^0.1.28" + }, + "devDependencies": { + "@types/node": "^20", + "winglang": "^0.63.2" + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/.gitignore b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/.gitignore new file mode 100644 index 00000000..5ce3cf05 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/.gitignore @@ -0,0 +1,3 @@ +*.d.ts +target/ +node_modules/ \ No newline at end of file diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/langchain.ts b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/langchain.ts new file mode 100644 index 00000000..7719c92f --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/langchain.ts @@ -0,0 +1,87 @@ +import { LLM } from "langchain/llms/base"; +import { BufferMemory } from "langchain/memory"; +import { PromptTemplate } from "langchain/prompts"; +import { ConversationChain } from "langchain/chains"; +import { + SageMakerEndpoint, + SageMakerLLMContentHandler, +} from "@langchain/community/llms/sagemaker_endpoint"; +import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/dynamodb"; + +class LLama27BHandler implements SageMakerLLMContentHandler { + contentType = "application/json"; + + accepts = "application/json"; + + async transformInput(prompt: string, modelKwargs: Record): Promise { + const payload = { + inputs: prompt, + parameters: modelKwargs, + }; + const stringifiedPayload = JSON.stringify(payload); + return new TextEncoder().encode(stringifiedPayload); + } + + async transformOutput(output: any): Promise { + const response_json = JSON.parse(new TextDecoder("utf-8").decode(output)); + const content: string = response_json[0]["generated_text"] ?? ""; + const answer = content + .substring(content.indexOf("<|assistant|>") + "<|assistant|>".length) + .trim(); + return answer; + } +} + +export function createModel(endpointName: string) { + return new SageMakerEndpoint({ + endpointName: endpointName, + modelKwargs: { + temperature: 0.5, + max_new_tokens: 700, + top_p: 0.9, + }, + endpointKwargs: { + CustomAttributes: "accept_eula=true", + }, + contentHandler: new LLama27BHandler(), + clientOptions: { + // In theory, there's no need to supply the following details as the code will be executed within + // the AWS Lambda environment. However, due to the way SageMakerEndpoint is implemented, it's + // required to specify a region. + region: process.env["AWS_REGION"], + // credentials: { + // accessKeyId: "YOUR AWS ACCESS ID", + // secretAccessKey: "YOUR AWS SECRET ACCESS KEY", + // }, + }, + }); +} + +export function createMemory(tableName: string, partitionKey: string, sessionId: string) { + return new BufferMemory({ + chatHistory: new DynamoDBChatMessageHistory({ + tableName: tableName, + partitionKey: partitionKey, + sessionId: sessionId, + }), + }); +} + +export function createPromptTemplate() { + return PromptTemplate.fromTemplate(`<|system|> + You are a cool and aloof robot, answering questions very briefly and directly. + + Context: + {history} + <|user|> + {query} + <|assistant|>`); +} + +export function createConversationChain( + model: LLM, + memory: BufferMemory, + promptTemplate: PromptTemplate +) { + return new ConversationChain({ llm: model, memory: memory, prompt: promptTemplate }); +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/main.w b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/main.w new file mode 100644 index 00000000..b9359529 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/main.w @@ -0,0 +1,58 @@ +// This is an example of how to use the LangChain library in Winglang, but it's not working. +bring cloud; +bring dynamodb; +bring sagemaker; +bring expect; + +class LangChainFactory { + pub extern "./langchain.ts" static inflight createModel(endpointName: str); + pub extern "./langchain.ts" static inflight createMemory(tableName: str, partitionKey: str, sessionId: str); + pub extern "./langchain.ts" static inflight createPromptTemplate(); + pub extern "./langchain.ts" static inflight createConversationChain(model: any, memory: any, promptTemplate: any); +} + +let endpont = new sagemaker.Endpoint("chatbot-endpoint", ""); + +let tableName = "conversations"; +let partitionKey = "Id"; +let table = new dynamodb.Table( + name: tableName, + attributes: [ + { + name: partitionKey, + type: "S", + }, + ], + hashKey: partitionKey, +); + +let api = new cloud.Api(); + +let chat = inflight(sessionId: str, query: str) => { + let memory = LangChainFactory.createMemory(tableName, partitionKey, sessionId); + let model = LangChainFactory.createModel(endpont.endpointName); + let promptTemplate = LangChainFactory.createPromptTemplate(); + let llmChain = LangChainFactory.createConversationChain(model, memory, promptTemplate); + + let result = llmChain.invoke({ query: query }); + return result.response; +}; + +api.get("/chat", inflight (request: cloud.ApiRequest): cloud.ApiResponse => { + let sessionId = request.query.get("session_id"); + let query = request.query.get("query"); + + if (sessionId == "" || query == "") { + return { + status: 400, + body: "Both sessionid and query are required.", + }; + } + + let result = chat(sessionId, query); + return { + status: 200, + body: result, + }; +}); + diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package-lock.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package-lock.json new file mode 100644 index 00000000..32424111 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package-lock.json @@ -0,0 +1,15329 @@ +{ + "name": "wing-chatbot", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wing-chatbot", + "version": "0.0.0", + "license": "MIT", + "dependencies": { + "@langchain/community": "^0.0.42", + "@winglibs/dynamodb": "^0.0.3", + "@winglibs/sagemaker": "^0.0.3", + "langchain": "^0.1.28" + } + }, + "node_modules/@anthropic-ai/sdk": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@anthropic-ai/sdk/-/sdk-0.9.1.tgz", + "integrity": "sha512-wa1meQ2WSfoY8Uor3EdrJq0jTiZJoKoSii2ZVWRY1oN4Tlr5s59pADg9T79FTbPe1/se5c3pBeZgJL63wmuoBA==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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==", + "optional": true, + "peer": true, + "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/sha256-js/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==", + "optional": true, + "peer": true, + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.540.0.tgz", + "integrity": "sha512-AL4ZNb3q8WFZWlwybHNmipcBp1981pjzav6gIemWdmkrveVkNVEFmYHBEo9ONLKDDwoDsgxKUhATCLGrioWQJQ==", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-endpoint-discovery": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "@smithy/util-waiter": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb-streams/-/client-dynamodb-streams-3.540.0.tgz", + "integrity": "sha512-8eIEo9iNIGabz6ttUJaFA0gx09CsEtQoFwkl9Y8h9815e8BxNcW7QfWPvmVSGTI6NznQp9q9Z9pXgpxKyC1Wkg==", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-dynamodb-streams/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "peer": true + }, + "node_modules/@aws-sdk/client-dynamodb/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" + ], + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sagemaker-runtime/-/client-sagemaker-runtime-3.540.0.tgz", + "integrity": "sha512-S3OamdUon1C9XpgvjYWuj2waQB2kATisYfSEPD7ywiUc6CNjR0JDALNaxqz+/00lbBY9YoKQz/ORvy2PyuA+ZA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/credential-provider-node": "3.540.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/eventstream-serde-browser": "^2.2.0", + "@smithy/eventstream-serde-config-resolver": "^2.2.0", + "@smithy/eventstream-serde-node": "^2.2.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-stream": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sagemaker-runtime/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz", + "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz", + "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.540.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sso-oidc/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz", + "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.535.0", + "@aws-sdk/middleware-host-header": "3.535.0", + "@aws-sdk/middleware-logger": "3.535.0", + "@aws-sdk/middleware-recursion-detection": "3.535.0", + "@aws-sdk/middleware-user-agent": "3.540.0", + "@aws-sdk/region-config-resolver": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@aws-sdk/util-user-agent-browser": "3.535.0", + "@aws-sdk/util-user-agent-node": "3.535.0", + "@smithy/config-resolver": "^2.2.0", + "@smithy/core": "^1.4.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/hash-node": "^2.2.0", + "@smithy/invalid-dependency": "^2.2.0", + "@smithy/middleware-content-length": "^2.2.0", + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-body-length-browser": "^2.2.0", + "@smithy/util-body-length-node": "^2.3.0", + "@smithy/util-defaults-mode-browser": "^2.2.0", + "@smithy/util-defaults-mode-node": "^2.3.0", + "@smithy/util-endpoints": "^1.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "^3.540.0" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/client-sts/node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@aws-sdk/core": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.535.0.tgz", + "integrity": "sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==", + "dependencies": { + "@smithy/core": "^1.4.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/signature-v4": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.535.0.tgz", + "integrity": "sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.535.0.tgz", + "integrity": "sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.540.0.tgz", + "integrity": "sha512-igN/RbsnulIBwqXbwsWmR3srqmtbPF1dm+JteGvUY31FW65fTVvWvSr945Y/cf1UbhPmIQXntlsqESqpkhTHwg==", + "dependencies": { + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/credential-provider-env": "3.535.0", + "@aws-sdk/credential-provider-process": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.540.0.tgz", + "integrity": "sha512-HKQZJbLHlrHX9A0B1poiYNXIIQfy8whTjuosTCYKPDBhhUyVAQfxy/KG726j0v43IhaNPLgTGZCJve4hAsazSw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.535.0", + "@aws-sdk/credential-provider-http": "3.535.0", + "@aws-sdk/credential-provider-ini": "3.540.0", + "@aws-sdk/credential-provider-process": "3.535.0", + "@aws-sdk/credential-provider-sso": "3.540.0", + "@aws-sdk/credential-provider-web-identity": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.535.0.tgz", + "integrity": "sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.540.0.tgz", + "integrity": "sha512-tKkFqK227LF5ajc5EL6asXS32p3nkofpP8G7NRpU7zOEOQCg01KUc4JRX+ItI0T007CiN1J19yNoFqHLT/SqHg==", + "dependencies": { + "@aws-sdk/client-sso": "3.540.0", + "@aws-sdk/token-providers": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.540.0.tgz", + "integrity": "sha512-OpDm9w3A168B44hSjpnvECP4rvnFzD86rN4VYdGADuCvEa5uEcdA/JuT5WclFPDqdWEmFBqS1pxBIJBf0g2Q9Q==", + "dependencies": { + "@aws-sdk/client-sts": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/endpoint-cache": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.535.0.tgz", + "integrity": "sha512-sPG2l00iVuporK9AmPWq4UBcJURs2RN+vKA8QLRQANmQS3WFHWHamvGltxCjK79izkeqri882V4XlFpZfWhemA==", + "peer": true, + "dependencies": { + "mnemonist": "0.38.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.540.0.tgz", + "integrity": "sha512-zOzYsfzL7r403A6jriB3/KrlCvXO/jErqNMIE9EqEGloC6XVd64aKYo6qO8+LQbXNQ67hje4Wh/5wDYADC15mw==", + "peer": true, + "dependencies": { + "@aws-sdk/util-dynamodb": "3.540.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.535.0.tgz", + "integrity": "sha512-+EsqJB5A15RoTf0HxUdknF3hp+2WDg0HWc+QERUctzzYXy9l5LIQjmhQ96cWDyFttKmHE+4h6fjMZjJEeWOeYQ==", + "peer": true, + "dependencies": { + "@aws-sdk/endpoint-cache": "3.535.0", + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.535.0.tgz", + "integrity": "sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.535.0.tgz", + "integrity": "sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.535.0.tgz", + "integrity": "sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.540.0.tgz", + "integrity": "sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@aws-sdk/util-endpoints": "3.540.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.535.0.tgz", + "integrity": "sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-config-provider": "^2.3.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.540.0.tgz", + "integrity": "sha512-9BvtiVEZe5Ev88Wa4ZIUbtT6BVcPwhxmVInQ6c12MYNb0WNL54BN6wLy/eknAfF05gpX2/NDU2pUDOyMPdm/+g==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.540.0", + "@aws-sdk/types": "3.535.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.535.0.tgz", + "integrity": "sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-dynamodb": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.540.0.tgz", + "integrity": "sha512-Er3OCddj5MhJIpX4jzjeHpvyTcYk+LE1b2Efaku1xT8LeQ29mhg+6BFPsbYydqIas5KLQd8AiNVWBWN8qdpLRA==", + "peer": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.540.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.540.0.tgz", + "integrity": "sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "@smithy/util-endpoints": "^1.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.535.0.tgz", + "integrity": "sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.535.0.tgz", + "integrity": "sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/types": "^2.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.535.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.535.0.tgz", + "integrity": "sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==", + "dependencies": { + "@aws-sdk/types": "3.535.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@cdktf/provider-aws": { + "version": "19.11.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-aws/-/provider-aws-19.11.0.tgz", + "integrity": "sha512-Nl47iOIlCk+IHNfE00myuE4aUTF2VzrE+ooS5J9zVRHxG9sOvHWqXPARnNNTnJphZjXrfsmWLMHlEOrXRySgmw==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.20.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "optional": true, + "peer": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "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==", + "peer": true, + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "peer": 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==", + "peer": true, + "dependencies": { + "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/@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==", + "peer": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "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==", + "peer": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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==", + "peer": true + }, + "node_modules/@langchain/community": { + "version": "0.0.42", + "resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.0.42.tgz", + "integrity": "sha512-Xp3H0w23X9viHRpb3GUiFl+qjB68h/V7ztPOxR1AtaKlmXkjrSwiLqhMjlVsJ9jyPaKIr5ZOV07gYAXJUz/P8Q==", + "dependencies": { + "@langchain/core": "~0.1.44", + "@langchain/openai": "~0.0.19", + "expr-eval": "^2.0.2", + "flat": "^5.0.2", + "langsmith": "~0.1.1", + "uuid": "^9.0.0", + "zod": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@aws-crypto/sha256-js": "^5.0.0", + "@aws-sdk/client-bedrock-agent-runtime": "^3.485.0", + "@aws-sdk/client-bedrock-runtime": "^3.422.0", + "@aws-sdk/client-dynamodb": "^3.310.0", + "@aws-sdk/client-kendra": "^3.352.0", + "@aws-sdk/client-lambda": "^3.310.0", + "@aws-sdk/client-sagemaker-runtime": "^3.310.0", + "@aws-sdk/client-sfn": "^3.310.0", + "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/search-documents": "^12.0.0", + "@clickhouse/client": "^0.2.5", + "@cloudflare/ai": "*", + "@datastax/astra-db-ts": "^0.1.4", + "@elastic/elasticsearch": "^8.4.0", + "@getmetal/metal-sdk": "*", + "@getzep/zep-js": "^0.9.0", + "@gomomento/sdk": "^1.51.1", + "@gomomento/sdk-core": "^1.51.1", + "@google-ai/generativelanguage": "^0.2.1", + "@gradientai/nodejs-sdk": "^1.2.0", + "@huggingface/inference": "^2.6.4", + "@mozilla/readability": "*", + "@opensearch-project/opensearch": "*", + "@pinecone-database/pinecone": "*", + "@planetscale/database": "^1.8.0", + "@premai/prem-sdk": "^0.3.25", + "@qdrant/js-client-rest": "^1.2.0", + "@raycast/api": "^1.55.2", + "@rockset/client": "^0.9.1", + "@smithy/eventstream-codec": "^2.0.5", + "@smithy/protocol-http": "^3.0.6", + "@smithy/signature-v4": "^2.0.10", + "@smithy/util-utf8": "^2.0.0", + "@supabase/postgrest-js": "^1.1.1", + "@supabase/supabase-js": "^2.10.0", + "@tensorflow-models/universal-sentence-encoder": "*", + "@tensorflow/tfjs-converter": "*", + "@tensorflow/tfjs-core": "*", + "@upstash/redis": "^1.20.6", + "@upstash/vector": "^1.0.2", + "@vercel/kv": "^0.2.3", + "@vercel/postgres": "^0.5.0", + "@writerai/writer-sdk": "^0.40.2", + "@xata.io/client": "^0.28.0", + "@xenova/transformers": "^2.5.4", + "@zilliz/milvus2-sdk-node": ">=2.2.7", + "better-sqlite3": "^9.4.0", + "cassandra-driver": "^4.7.2", + "cborg": "^4.1.1", + "chromadb": "*", + "closevector-common": "0.1.3", + "closevector-node": "0.1.6", + "closevector-web": "0.1.6", + "cohere-ai": "*", + "convex": "^1.3.1", + "couchbase": "^4.3.0", + "discord.js": "^14.14.1", + "dria": "^0.0.3", + "faiss-node": "^0.5.1", + "firebase-admin": "^11.9.0 || ^12.0.0", + "google-auth-library": "^8.9.0", + "googleapis": "^126.0.1", + "hnswlib-node": "^1.4.2", + "html-to-text": "^9.0.5", + "interface-datastore": "^8.2.11", + "ioredis": "^5.3.2", + "it-all": "^3.0.4", + "jsdom": "*", + "jsonwebtoken": "^9.0.2", + "llmonitor": "^0.5.9", + "lodash": "^4.17.21", + "lunary": "^0.6.11", + "mongodb": ">=5.2.0", + "mysql2": "^3.3.3", + "neo4j-driver": "*", + "node-llama-cpp": "*", + "pg": "^8.11.0", + "pg-copy-streams": "^6.0.5", + "pickleparser": "^0.2.1", + "portkey-ai": "^0.1.11", + "redis": "*", + "replicate": "^0.18.0", + "typeorm": "^0.3.12", + "typesense": "^1.5.3", + "usearch": "^1.1.1", + "vectordb": "^0.1.4", + "voy-search": "0.6.2", + "weaviate-ts-client": "*", + "web-auth-library": "^1.0.3", + "ws": "^8.14.2" + }, + "peerDependenciesMeta": { + "@aws-crypto/sha256-js": { + "optional": true + }, + "@aws-sdk/client-bedrock-agent-runtime": { + "optional": true + }, + "@aws-sdk/client-bedrock-runtime": { + "optional": true + }, + "@aws-sdk/client-dynamodb": { + "optional": true + }, + "@aws-sdk/client-kendra": { + "optional": true + }, + "@aws-sdk/client-lambda": { + "optional": true + }, + "@aws-sdk/client-sagemaker-runtime": { + "optional": true + }, + "@aws-sdk/client-sfn": { + "optional": true + }, + "@aws-sdk/credential-provider-node": { + "optional": true + }, + "@azure/search-documents": { + "optional": true + }, + "@clickhouse/client": { + "optional": true + }, + "@cloudflare/ai": { + "optional": true + }, + "@datastax/astra-db-ts": { + "optional": true + }, + "@elastic/elasticsearch": { + "optional": true + }, + "@getmetal/metal-sdk": { + "optional": true + }, + "@getzep/zep-js": { + "optional": true + }, + "@gomomento/sdk": { + "optional": true + }, + "@gomomento/sdk-core": { + "optional": true + }, + "@google-ai/generativelanguage": { + "optional": true + }, + "@gradientai/nodejs-sdk": { + "optional": true + }, + "@huggingface/inference": { + "optional": true + }, + "@mozilla/readability": { + "optional": true + }, + "@opensearch-project/opensearch": { + "optional": true + }, + "@pinecone-database/pinecone": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@premai/prem-sdk": { + "optional": true + }, + "@qdrant/js-client-rest": { + "optional": true + }, + "@raycast/api": { + "optional": true + }, + "@rockset/client": { + "optional": true + }, + "@smithy/eventstream-codec": { + "optional": true + }, + "@smithy/protocol-http": { + "optional": true + }, + "@smithy/signature-v4": { + "optional": true + }, + "@smithy/util-utf8": { + "optional": true + }, + "@supabase/postgrest-js": { + "optional": true + }, + "@supabase/supabase-js": { + "optional": true + }, + "@tensorflow-models/universal-sentence-encoder": { + "optional": true + }, + "@tensorflow/tfjs-converter": { + "optional": true + }, + "@tensorflow/tfjs-core": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@upstash/vector": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@writerai/writer-sdk": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "@xenova/transformers": { + "optional": true + }, + "@zilliz/milvus2-sdk-node": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "cassandra-driver": { + "optional": true + }, + "cborg": { + "optional": true + }, + "chromadb": { + "optional": true + }, + "closevector-common": { + "optional": true + }, + "closevector-node": { + "optional": true + }, + "closevector-web": { + "optional": true + }, + "cohere-ai": { + "optional": true + }, + "convex": { + "optional": true + }, + "couchbase": { + "optional": true + }, + "discord.js": { + "optional": true + }, + "dria": { + "optional": true + }, + "faiss-node": { + "optional": true + }, + "firebase-admin": { + "optional": true + }, + "google-auth-library": { + "optional": true + }, + "googleapis": { + "optional": true + }, + "hnswlib-node": { + "optional": true + }, + "html-to-text": { + "optional": true + }, + "interface-datastore": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "it-all": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "jsonwebtoken": { + "optional": true + }, + "llmonitor": { + "optional": true + }, + "lodash": { + "optional": true + }, + "lunary": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "neo4j-driver": { + "optional": true + }, + "node-llama-cpp": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-copy-streams": { + "optional": true + }, + "pickleparser": { + "optional": true + }, + "portkey-ai": { + "optional": true + }, + "redis": { + "optional": true + }, + "replicate": { + "optional": true + }, + "typeorm": { + "optional": true + }, + "typesense": { + "optional": true + }, + "usearch": { + "optional": true + }, + "vectordb": { + "optional": true + }, + "voy-search": { + "optional": true + }, + "weaviate-ts-client": { + "optional": true + }, + "web-auth-library": { + "optional": true + }, + "ws": { + "optional": true + } + } + }, + "node_modules/@langchain/community/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/@langchain/core": { + "version": "0.1.50", + "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.1.50.tgz", + "integrity": "sha512-STeZgob/KgiNq3oVUguCvDDzqOTy+SKCOsEKriV6u5Yrx9mreIoV0iB63gABB2FLlHCksYVu0bR12kdgRWd6EA==", + "dependencies": { + "ansi-styles": "^5.0.0", + "camelcase": "6", + "decamelize": "1.2.0", + "js-tiktoken": "^1.0.8", + "langsmith": "~0.1.7", + "ml-distance": "^4.0.0", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@langchain/core/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/@langchain/openai": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.0.23.tgz", + "integrity": "sha512-H5yv2hKQ5JVa6jC1wQxiN2299lJbPc5JUv93c6IUw+0jr0kFqH48NWbcythz1UFj2rOpZdaFJSYJs2nr9bhVLg==", + "dependencies": { + "@langchain/core": "~0.1.45", + "js-tiktoken": "^1.0.7", + "openai": "^4.26.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "peer": true, + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "optional": true, + "peer": 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==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.1.tgz", + "integrity": "sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==", + "peer": 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.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.4.0.tgz", + "integrity": "sha512-VFsUaTrV8NR+0E2I+xhp6pPC5eAbMmSMSMZbS57aogLc6du6HWBPATFOaiNWwp1QTFVeP4aLhYixQM9hHfaAsA==", + "peer": true, + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.0", + "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/query": "^3.1.0", + "@npmcli/run-script": "^7.0.2", + "bin-links": "^4.0.1", + "cacache": "^18.0.0", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.1", + "json-parse-even-better-errors": "^3.0.0", + "json-stringify-nice": "^1.1.4", + "minimatch": "^9.0.0", + "nopt": "^7.0.0", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.1", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "npmlog": "^7.0.1", + "pacote": "^17.0.4", + "parse-conflict-json": "^3.0.0", + "proc-log": "^3.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.5", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/arborist/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "peer": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", + "peer": true, + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "peer": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "peer": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz", + "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==", + "peer": 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/metavuln-calculator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.0.0.tgz", + "integrity": "sha512-Pw0tyX02VkpqlIQlG2TeiJNsdrecYeUU0ubZZa9pi3N37GCsxI+en43u4hYFdq+eSx1A9a9vwFAUyqEtKFsbHQ==", + "peer": true, + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^17.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/metavuln-calculator/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "peer": 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==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", + "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", + "peer": 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": "^3.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/package-json/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", + "peer": 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==", + "peer": 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==", + "peer": 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==", + "peer": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", + "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", + "peer": 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", + "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==", + "peer": 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==", + "peer": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3" + } + }, + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", + "optional": true, + "peer": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.40.0" + }, + "peerDependencies": { + "@octokit/core": ">=2" + } + }, + "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==", + "optional": true, + "peer": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + } + }, + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + } + }, + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", + "optional": true, + "peer": true, + "dependencies": { + "@octokit/openapi-types": "^12.11.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==", + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@segment/analytics-core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz", + "integrity": "sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA==", + "peer": true, + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.1.1", + "dset": "^3.1.2", + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.1.1.tgz", + "integrity": "sha512-THTIzBPHnvu1HYJU3fARdJ3qIkukO3zDXsmDm+kAeUks5R9CBXOQ6rPChiASVzSmwAIIo5uFIXXnCraojlq/Gw==", + "peer": true, + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz", + "integrity": "sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ==", + "peer": true, + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.4.1", + "@segment/analytics-generic-utils": "1.1.1", + "buffer": "^6.0.3", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@segment/analytics-node/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.2.0.tgz", + "integrity": "sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==", + "peer": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.0.0.tgz", + "integrity": "sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==", + "peer": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.0.tgz", + "integrity": "sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.3.tgz", + "integrity": "sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==", + "peer": true, + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.1.tgz", + "integrity": "sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==", + "peer": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.0", + "tuf-js": "^2.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.1.0.tgz", + "integrity": "sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==", + "peer": true, + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz", + "integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.2.0.tgz", + "integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-config-provider": "^2.3.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.4.0.tgz", + "integrity": "sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-retry": "^2.2.0", + "@smithy/middleware-serde": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz", + "integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.2.0.tgz", + "integrity": "sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.2.0.tgz", + "integrity": "sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.2.0.tgz", + "integrity": "sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.2.0.tgz", + "integrity": "sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.2.0.tgz", + "integrity": "sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==", + "dependencies": { + "@smithy/eventstream-codec": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz", + "integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.2.0.tgz", + "integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz", + "integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "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/@smithy/middleware-content-length": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz", + "integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==", + "dependencies": { + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.0.tgz", + "integrity": "sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==", + "dependencies": { + "@smithy/middleware-serde": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "@smithy/url-parser": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.2.0.tgz", + "integrity": "sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/service-error-classification": "^2.1.5", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-retry": "^2.2.0", + "tslib": "^2.6.2", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz", + "integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz", + "integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz", + "integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==", + "dependencies": { + "@smithy/property-provider": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.4.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz", + "integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==", + "dependencies": { + "@smithy/abort-controller": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/querystring-builder": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.2.0.tgz", + "integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.3.0.tgz", + "integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz", + "integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==", + "dependencies": { + "@smithy/types": "^2.12.0", + "@smithy/util-uri-escape": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz", + "integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", + "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", + "dependencies": { + "@smithy/types": "^2.12.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz", + "integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.2.0.tgz", + "integrity": "sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==", + "dependencies": { + "@smithy/eventstream-codec": "^2.2.0", + "@smithy/is-array-buffer": "^2.2.0", + "@smithy/types": "^2.12.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-middleware": "^2.2.0", + "@smithy/util-uri-escape": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.5.0.tgz", + "integrity": "sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.5.0", + "@smithy/middleware-stack": "^2.2.0", + "@smithy/protocol-http": "^3.3.0", + "@smithy/types": "^2.12.0", + "@smithy/util-stream": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", + "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.2.0.tgz", + "integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==", + "dependencies": { + "@smithy/querystring-parser": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.3.0.tgz", + "integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz", + "integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz", + "integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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/@smithy/util-config-provider": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz", + "integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.0.tgz", + "integrity": "sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==", + "dependencies": { + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.0.tgz", + "integrity": "sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==", + "dependencies": { + "@smithy/config-resolver": "^2.2.0", + "@smithy/credential-provider-imds": "^2.3.0", + "@smithy/node-config-provider": "^2.3.0", + "@smithy/property-provider": "^2.2.0", + "@smithy/smithy-client": "^2.5.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz", + "integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==", + "dependencies": { + "@smithy/node-config-provider": "^2.3.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz", + "integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.2.0.tgz", + "integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==", + "dependencies": { + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.2.0.tgz", + "integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==", + "dependencies": { + "@smithy/service-error-classification": "^2.1.5", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.2.0.tgz", + "integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.5.0", + "@smithy/node-http-handler": "^2.5.0", + "@smithy/types": "^2.12.0", + "@smithy/util-base64": "^2.3.0", + "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-hex-encoding": "^2.2.0", + "@smithy/util-utf8": "^2.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz", + "integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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/@smithy/util-waiter": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.2.0.tgz", + "integrity": "sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==", + "peer": true, + "dependencies": { + "@smithy/abort-controller": "^2.2.0", + "@smithy/types": "^2.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "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==", + "peer": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "peer": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "optional": true, + "peer": true + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" + }, + "node_modules/@wingcloud/framework": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingcloud/framework/-/framework-0.63.2.tgz", + "integrity": "sha512-4sU7In49N9ROS6IFE3ofGAdcx+TLtzpNPWl1akuoJ8SpEHq9qMsbqMEvJgmvVKstIWjT3VaxiVVpWRsByk/kKw==", + "peer": true, + "peerDependencies": { + "@winglang/sdk": "*", + "typescript": "^5.3.3" + } + }, + "node_modules/@wingconsole/app": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingconsole/app/-/app-0.63.2.tgz", + "integrity": "sha512-9NMizuHrt6WzQylJnhepDG4d+EUncT2rc28L697+sCFmKcd8IEOgXYoWI8fWQovBZCNmOdswq00Ij4Kuvi1lbQ==", + "peer": true, + "dependencies": { + "@segment/analytics-node": "^1.1.0", + "@wingconsole/server": "0.63.2", + "cross-spawn": "^7.0.3", + "express": "^4.18.2", + "open": "^8.4.2", + "picocolors": "^1.0.0" + } + }, + "node_modules/@wingconsole/server": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@wingconsole/server/-/server-0.63.2.tgz", + "integrity": "sha512-LDAfndDTmhnWTfzcpTzHa6FuC8ud27rGVqFII9A1kH6nX83ZFY0q7tVtDAqo/QG/oMX2TStsuwB8/EoLgXcPfg==", + "peer": true, + "dependencies": { + "@winglang/compiler": "0.63.2", + "@winglang/sdk": "0.63.2", + "codespan-wasm": "^0.4.0", + "debug": "^4.3.4", + "launch-editor": "^2.6.0", + "ms": "^2.1.3" + } + }, + "node_modules/@winglang/compiler": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@winglang/compiler/-/compiler-0.63.2.tgz", + "integrity": "sha512-HSq/cIUgyparovBSxeABw2/kYEeLXhjQMZq0ALXpgOLjh4TPUp/xQYmXoxLxdr9p+MWuReyjPFpOa4FRPldiYQ==", + "bundleDependencies": [ + "wasi-js" + ], + "peer": true, + "dependencies": { + "@wingcloud/framework": "0.63.2", + "@winglang/sdk": "0.63.2", + "wasi-js": "^1.7.3" + }, + "engines": { + "node": ">=v20.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/@cowasm/memfs": { + "version": "3.5.1", + "inBundle": true, + "license": "Unlicense", + "peer": true, + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/@wapython/unionfs": { + "version": "4.5.7", + "inBundle": true, + "peer": true, + "dependencies": { + "fs-monkey": "^1.0.0" + } + }, + "node_modules/@winglang/compiler/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/compiler/node_modules/fflate": { + "version": "0.7.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/fs-monkey": { + "version": "1.0.5", + "inBundle": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/path-browserify": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/randombytes": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/@winglang/compiler/node_modules/randomfill": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/@winglang/compiler/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/typedarray-to-buffer": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/compiler/node_modules/wasi-js": { + "version": "1.7.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@cowasm/memfs": "^3.5.1", + "@wapython/unionfs": "^4.5.7", + "debug": "^4.3.4", + "fflate": "^0.7.3", + "path-browserify": "^1.0.0", + "randomfill": "^1.0.4", + "typedarray-to-buffer": "^4.0.0" + }, + "bin": { + "wasi-run": "bin/run.js" + } + }, + "node_modules/@winglang/sdk": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/@winglang/sdk/-/sdk-0.63.2.tgz", + "integrity": "sha512-KWeASOLdNHX3Iwf4R7hN0rrluuy5bbiaqNAhvivSkPQFJXk2x7kYaB70uZ2riVEg4QErKDlKxtbGuhdCZWZlKw==", + "bundleDependencies": [ + "@aws-sdk/client-cloudwatch-logs", + "@aws-sdk/client-dynamodb", + "@aws-sdk/client-elasticache", + "@aws-sdk/client-lambda", + "@aws-sdk/client-s3", + "@aws-sdk/client-secrets-manager", + "@aws-sdk/client-sns", + "@aws-sdk/client-sqs", + "@aws-sdk/s3-request-presigner", + "@aws-sdk/types", + "@aws-sdk/util-dynamodb", + "@azure/core-paging", + "@azure/data-tables", + "@azure/identity", + "@azure/storage-blob", + "@google-cloud/datastore", + "@google-cloud/storage", + "@smithy/util-stream", + "@smithy/util-utf8", + "@types/aws-lambda", + "@winglang/wingtunnels", + "ajv", + "cdktf", + "cron-parser", + "express", + "glob", + "google-auth-library", + "ioredis", + "jsonschema", + "mime", + "mime-types", + "nanoid", + "protobufjs", + "safe-stable-stringify", + "stacktracey", + "toml", + "ulid", + "uuid", + "yaml" + ], + "peer": true, + "dependencies": { + "@aws-sdk/client-cloudwatch-logs": "3.490.0", + "@aws-sdk/client-dynamodb": "3.490.0", + "@aws-sdk/client-elasticache": "3.490.0", + "@aws-sdk/client-lambda": "3.490.0", + "@aws-sdk/client-s3": "3.490.0", + "@aws-sdk/client-secrets-manager": "3.490.0", + "@aws-sdk/client-sns": "3.490.0", + "@aws-sdk/client-sqs": "3.490.0", + "@aws-sdk/s3-request-presigner": "3.490.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-dynamodb": "3.490.0", + "@azure/core-paging": "^1.5.0", + "@azure/data-tables": "13.2.2", + "@azure/identity": "4.0.1", + "@azure/storage-blob": "12.14.0", + "@google-cloud/datastore": "8.4.0", + "@google-cloud/storage": "6.9.5", + "@smithy/util-stream": "2.0.17", + "@smithy/util-utf8": "2.0.0", + "@types/aws-lambda": "^8.10.119", + "@winglang/wingtunnels": "0.63.2", + "ajv": "^8.12.0", + "cdktf": "0.20.3", + "constructs": "^10.3", + "cron-parser": "^4.9.0", + "express": "^4.18.2", + "glob": "^8.1.0", + "google-auth-library": "^8.9.0", + "ioredis": "^5.3.2", + "jsonschema": "^1.4.1", + "mime": "^3.0.0", + "mime-types": "^2.1.35", + "nanoid": "^3.3.6", + "protobufjs": "7.2.5", + "safe-stable-stringify": "^2.4.3", + "stacktracey": "^2.1.8", + "toml": "^3.0.0", + "ulid": "^2.3.0", + "uuid": "^8.3.2", + "yaml": "^2.3.2" + }, + "engines": { + "node": ">= 20.0.0" + }, + "optionalDependencies": { + "esbuild": "^0.19.12" + }, + "peerDependencies": { + "constructs": "^10.3" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/crc32c": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/ie11-detection": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha1-browser": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha256-browser": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/sha256-js": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/supports-web-crypto": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-crypto/util": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-cloudwatch-logs": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-endpoint-discovery": "3.489.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-elasticache": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-lambda": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-stream": "^2.0.24", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-s3": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha1-browser": "3.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-bucket-endpoint": "3.489.0", + "@aws-sdk/middleware-expect-continue": "3.489.0", + "@aws-sdk/middleware-flexible-checksums": "3.489.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-location-constraint": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-sdk-s3": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-ssec": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/signature-v4-multi-region": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@aws-sdk/xml-builder": "3.485.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/eventstream-serde-browser": "^2.0.16", + "@smithy/eventstream-serde-config-resolver": "^2.0.16", + "@smithy/eventstream-serde-node": "^2.0.16", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-blob-browser": "^2.0.17", + "@smithy/hash-node": "^2.0.18", + "@smithy/hash-stream-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/md5-js": "^2.0.18", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-stream": "^2.0.24", + "@smithy/util-utf8": "^2.0.2", + "@smithy/util-waiter": "^2.0.16", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-secrets-manager": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sns": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-signing": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sqs": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.490.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-sdk-sqs": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/md5-js": "^2.0.18", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sso": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/client-sts": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.490.0", + "@aws-sdk/credential-provider-node": "3.490.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/core": "^1.2.2", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-middleware": "^2.0.9", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/core": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/core": "^1.2.2", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.489.0", + "@aws-sdk/credential-provider-process": "3.489.0", + "@aws-sdk/credential-provider-sso": "3.490.0", + "@aws-sdk/credential-provider-web-identity": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.489.0", + "@aws-sdk/credential-provider-ini": "3.490.0", + "@aws-sdk/credential-provider-process": "3.489.0", + "@aws-sdk/credential-provider-sso": "3.490.0", + "@aws-sdk/credential-provider-web-identity": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/client-sso": "3.490.0", + "@aws-sdk/token-providers": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/endpoint-cache": { + "version": "3.465.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "mnemonist": "0.38.3", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/endpoint-cache": "3.465.0", + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.489.0", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-logger": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-arn-parser": "3.465.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-signing": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.8.0", + "@smithy/util-middleware": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-ssec": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/types": "^2.8.0", + "@smithy/util-config-provider": "^2.1.0", + "@smithy/util-middleware": "^2.0.9", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-format-url": "3.489.0", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/token-providers": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.489.0", + "@aws-sdk/middleware-logger": "3.489.0", + "@aws-sdk/middleware-recursion-detection": "3.489.0", + "@aws-sdk/middleware-user-agent": "3.489.0", + "@aws-sdk/region-config-resolver": "3.489.0", + "@aws-sdk/types": "3.489.0", + "@aws-sdk/util-endpoints": "3.489.0", + "@aws-sdk/util-user-agent-browser": "3.489.0", + "@aws-sdk/util-user-agent-node": "3.489.0", + "@smithy/config-resolver": "^2.0.23", + "@smithy/fetch-http-handler": "^2.3.2", + "@smithy/hash-node": "^2.0.18", + "@smithy/invalid-dependency": "^2.0.16", + "@smithy/middleware-content-length": "^2.0.18", + "@smithy/middleware-endpoint": "^2.3.0", + "@smithy/middleware-retry": "^2.0.26", + "@smithy/middleware-serde": "^2.0.16", + "@smithy/middleware-stack": "^2.0.10", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/node-http-handler": "^2.2.2", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.12", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.2.1", + "@smithy/types": "^2.8.0", + "@smithy/url-parser": "^2.0.16", + "@smithy/util-base64": "^2.0.1", + "@smithy/util-body-length-browser": "^2.0.1", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.24", + "@smithy/util-defaults-mode-node": "^2.0.32", + "@smithy/util-endpoints": "^1.0.8", + "@smithy/util-retry": "^2.0.9", + "@smithy/util-utf8": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/types": { + "version": "3.449.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-arn-parser": { + "version": "3.465.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-dynamodb": { + "version": "3.490.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-endpoints": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "@smithy/util-endpoints": "^1.0.8", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-format-url": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/querystring-builder": "^2.0.16", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/types": "^2.8.0", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.489.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.489.0", + "@smithy/node-config-provider": "^2.1.9", + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@winglang/sdk/node_modules/@aws-sdk/xml-builder": { + "version": "3.485.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.8.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/abort-controller": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-auth": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-client": { + "version": "1.7.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-rest-pipeline": "^1.9.1", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-http": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/core-util": "^1.1.1", + "@azure/logger": "^1.0.0", + "@types/node-fetch": "^2.5.0", + "@types/tunnel": "^0.0.3", + "form-data": "^4.0.0", + "node-fetch": "^2.6.7", + "process": "^0.11.10", + "tslib": "^2.2.0", + "tunnel": "^0.0.6", + "uuid": "^8.3.0", + "xml2js": "^0.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-lro": { + "version": "2.5.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-util": "^1.2.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-paging": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-rest-pipeline": { + "version": "1.12.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.4.0", + "@azure/core-tracing": "^1.0.1", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "form-data": "^4.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-tracing": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-util": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/core-xml": { + "version": "1.3.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-xml-parser": "^4.2.4", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/data-tables": { + "version": "13.2.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/core-auth": "^1.3.0", + "@azure/core-client": "^1.0.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-xml": "^1.0.0", + "@azure/logger": "^1.0.0", + "tslib": "^2.2.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/identity": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.5.0", + "@azure/core-client": "^1.4.0", + "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-tracing": "^1.0.0", + "@azure/core-util": "^1.3.0", + "@azure/logger": "^1.0.0", + "@azure/msal-browser": "^3.5.0", + "@azure/msal-node": "^2.5.1", + "events": "^3.0.0", + "jws": "^4.0.0", + "open": "^8.0.0", + "stoppable": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/logger": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-browser": { + "version": "3.7.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/msal-common": "14.6.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-common": { + "version": "14.6.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/msal-node": { + "version": "2.6.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/msal-common": "14.6.1", + "jsonwebtoken": "^9.0.0", + "uuid": "^8.3.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@winglang/sdk/node_modules/@azure/storage-blob": { + "version": "12.14.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-http": "^3.0.0", + "@azure/core-lro": "^2.2.0", + "@azure/core-paging": "^1.1.1", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/logger": "^1.0.0", + "events": "^3.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/datastore": { + "version": "8.4.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@google-cloud/promisify": "^4.0.0", + "arrify": "^2.0.1", + "concat-stream": "^2.0.0", + "extend": "^3.0.2", + "google-gax": "^4.0.5", + "is": "^3.3.0", + "split-array-stream": "^2.0.0", + "stream-events": "^1.0.5" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/paginator": { + "version": "3.0.7", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "arrify": "^2.0.0", + "extend": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/projectify": { + "version": "3.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/promisify": { + "version": "4.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/@google-cloud/storage": { + "version": "6.9.5", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@google-cloud/paginator": "^3.0.7", + "@google-cloud/projectify": "^3.0.0", + "@google-cloud/promisify": "^3.0.0", + "abort-controller": "^3.0.0", + "async-retry": "^1.3.3", + "compressible": "^2.0.12", + "duplexify": "^4.0.0", + "ent": "^2.2.0", + "extend": "^3.0.2", + "gaxios": "^5.0.0", + "google-auth-library": "^8.0.1", + "mime": "^3.0.0", + "mime-types": "^2.0.8", + "p-limit": "^3.0.1", + "retry-request": "^5.0.0", + "teeny-request": "^8.0.0", + "uuid": "^8.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/@grpc/grpc-js": { + "version": "1.9.9", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@grpc/proto-loader": { + "version": "0.7.10", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/@ioredis/commands": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/base64": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/float": { + "version": "1.0.2", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/path": { + "version": "1.1.2", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/pool": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@smithy/abort-controller": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/chunked-blob-reader": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/config-resolver": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/core": { + "version": "1.3.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/credential-provider-imds": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-codec": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/eventstream-serde-universal": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/fetch-http-handler": { + "version": "2.4.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-blob-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/chunked-blob-reader": "^2.1.1", + "@smithy/chunked-blob-reader-native": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/hash-stream-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/invalid-dependency": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/is-array-buffer": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/md5-js": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-content-length": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-endpoint": { + "version": "2.4.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-retry": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-serde": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/middleware-stack": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/node-config-provider": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/node-http-handler": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/property-provider": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/protocol-http": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/querystring-builder": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/querystring-parser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/service-error-classification": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/shared-ini-file-loader": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/signature-v4": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/smithy-client": { + "version": "2.3.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/types": { + "version": "2.9.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/url-parser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-base64": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-body-length-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-body-length-node": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-buffer-from": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-config-provider": { + "version": "2.2.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-defaults-mode-node": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-endpoints": { + "version": "1.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-hex-encoding": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-middleware": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-retry": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-stream": { + "version": "2.0.17", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/types": "^2.4.0", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-uri-escape": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@smithy/util-waiter": { + "version": "2.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/aws-lambda": { + "version": "8.10.124", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@types/caseless": { + "version": "0.12.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@types/long": { + "version": "4.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@types/ms": { + "version": "0.7.34", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@types/node": { + "version": "20.11.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/node-fetch": { + "version": "2.6.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/request": { + "version": "2.48.11", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/caseless": "*", + "@types/node": "*", + "@types/tough-cookie": "*", + "form-data": "^2.5.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@types/tough-cookie": { + "version": "4.0.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/@types/tunnel": { + "version": "0.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels": { + "version": "0.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/debug": "^4.1.9", + "@types/node": "^20.11.19", + "@types/ws": "^8.5.7", + "debug": "^4.3.4", + "ws": "^8.14.2" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/debug": { + "version": "4.1.12", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/node": { + "version": "20.11.20", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/@types/ws": { + "version": "8.5.10", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack": { + "version": "0.0.0", + "extraneous": true, + "inBundle": true, + "dependencies": { + "@actions/core": "^1.10.1", + "@pnpm/find-workspace-dir": "^6.0.2", + "@pnpm/reviewing.dependencies-hierarchy": "^2.0.10", + "@pnpm/workspace.find-packages": "^1.0.5", + "changelogen": "^0.5.5", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "npm-which": "^3.0.1", + "semver": "^7.5.4", + "tsx": "^4.7.0" + }, + "bin": { + "bump-pack": "bin/bump-pack.cjs", + "link-bundles": "bin/link-bundles.cjs", + "turbo-diff": "bin/turbo-diff.cjs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@actions/core": { + "version": "1.10.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/find-workspace-dir": { + "version": "6.0.2", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/error": "5.0.2", + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/reviewing.dependencies-hierarchy": { + "version": "2.1.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/dependency-path": "2.1.4", + "@pnpm/lockfile-file": "8.1.3", + "@pnpm/lockfile-utils": "8.0.6", + "@pnpm/matcher": "5.0.0", + "@pnpm/modules-yaml": "12.1.3", + "@pnpm/normalize-registries": "5.0.3", + "@pnpm/npm-package-arg": "^1.0.0", + "@pnpm/read-modules-dir": "6.0.1", + "@pnpm/read-package-json": "8.0.4", + "@pnpm/types": "9.3.0", + "normalize-path": "^3.0.0", + "realpath-missing": "^1.1.0", + "resolve-link-target": "^2.0.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@pnpm/workspace.find-packages": { + "version": "1.0.13", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@pnpm/cli-utils": "2.0.23", + "@pnpm/constants": "7.1.1", + "@pnpm/fs.find-packages": "2.0.7", + "@pnpm/types": "9.3.0", + "@pnpm/util.lex-comparator": "1.0.0", + "read-yaml-file": "^2.1.0" + }, + "engines": { + "node": ">=16.14" + }, + "funding": { + "url": "https://opencollective.com/pnpm" + }, + "peerDependencies": { + "@pnpm/logger": "^5.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/fs-extra": { + "version": "11.0.2", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/node": { + "version": "20.11.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/@types/semver": { + "version": "7.5.3", + "extraneous": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/changelogen": { + "version": "0.5.5", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "c12": "^1.4.2", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "convert-gitmoji": "^0.1.3", + "execa": "^8.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.2.0", + "ofetch": "^1.1.1", + "open": "^9.1.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "semver": "^7.5.4", + "std-env": "^3.4.2", + "yaml": "^2.3.1" + }, + "bin": { + "changelogen": "dist/cli.mjs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/fs-extra": { + "version": "11.1.1", + "extraneous": 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/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/minimatch": { + "version": "9.0.3", + "extraneous": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/npm-which": { + "version": "3.0.1", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "commander": "^2.9.0", + "npm-path": "^2.0.2", + "which": "^1.2.10" + }, + "bin": { + "npm-which": "bin/npm-which.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/semver": { + "version": "7.5.4", + "extraneous": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/tsx": { + "version": "4.7.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.19.10", + "get-tsconfig": "^4.7.2" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/typescript": { + "version": "5.2.2", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/bump-pack/node_modules/vitest": { + "version": "0.34.6", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/tsup": { + "version": "6.7.0", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.17.6", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^3.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/typescript": { + "version": "5.3.3", + "extraneous": true, + "inBundle": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/vitest": { + "version": "0.34.6", + "extraneous": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/@winglang/wingtunnels/node_modules/ws": { + "version": "8.14.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/abort-controller": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/@winglang/sdk/node_modules/accepts": { + "version": "1.3.8", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/agent-base": { + "version": "7.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/ajv": { + "version": "8.12.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@winglang/sdk/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@winglang/sdk/node_modules/array-flatten": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/arrify": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/as-table": { + "version": "1.0.55", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "printable-characters": "^1.0.42" + } + }, + "node_modules/@winglang/sdk/node_modules/async-retry": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "retry": "0.13.1" + } + }, + "node_modules/@winglang/sdk/node_modules/asynckit": { + "version": "0.4.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/bignumber.js": { + "version": "9.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/body-parser": { + "version": "1.20.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@winglang/sdk/node_modules/bowser": { + "version": "2.11.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/buffer-from": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/bytes": { + "version": "3.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf": { + "version": "0.20.3", + "bundleDependencies": [ + "archiver", + "json-stable-stringify", + "semver" + ], + "inBundle": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "archiver": "6.0.1", + "json-stable-stringify": "1.1.0", + "semver": "7.5.4" + }, + "peerDependencies": { + "constructs": "^10.0.25" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/archiver": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^5.0.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/archiver-utils": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^8.0.0", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/async": { + "version": "3.2.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/b4a": { + "version": "1.6.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/buffer-crc32": { + "version": "0.2.13", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/compress-commons": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^5.0.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/core-util-is": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/crc-32": { + "version": "1.2.2", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/crc32-stream": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/fast-fifo": { + "version": "1.3.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/isarray": { + "version": "2.0.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/json-stable-stringify": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/jsonify": { + "version": "0.0.1", + "inBundle": true, + "license": "Public Domain", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT", + "peer": 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/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lodash": { + "version": "4.17.21", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/normalize-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/object-keys": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/process-nextick-args": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/queue-tick": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/readdir-glob": { + "version": "1.1.3", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/semver": { + "version": "7.5.4", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/set-function-length": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/streamx": { + "version": "2.15.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/tar-stream": { + "version": "3.1.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cdktf/node_modules/zip-stream": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "compress-commons": "^5.0.1", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/cliui": { + "version": "8.0.1", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/cluster-key-slot": { + "version": "1.1.2", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/combined-stream": { + "version": "1.0.8", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/compressible": { + "version": "2.0.18", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/concat-stream": { + "version": "2.0.0", + "engines": [ + "node >= 6.0" + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/content-disposition": { + "version": "0.5.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/content-type": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/cookie": { + "version": "0.5.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/cookie-signature": { + "version": "1.0.6", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/cron-parser": { + "version": "4.9.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "luxon": "^3.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/data-uri-to-buffer": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/define-lazy-prop": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/delayed-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/denque": { + "version": "2.1.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/depd": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/destroy": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/@winglang/sdk/node_modules/duplexify": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/ee-first": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/encodeurl": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/end-of-stream": { + "version": "1.4.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/ent": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/escalade": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/escape-html": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/etag": { + "version": "1.8.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/event-target-shim": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/events": { + "version": "3.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/@winglang/sdk/node_modules/express": { + "version": "4.18.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/extend": { + "version": "3.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/fast-deep-equal": { + "version": "3.1.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/fast-text-encoding": { + "version": "1.0.6", + "inBundle": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/fast-xml-parser": { + "version": "4.2.5", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/@winglang/sdk/node_modules/finalhandler": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/form-data": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/forwarded": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/fresh": { + "version": "0.5.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/gaxios": { + "version": "6.1.1", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/gcp-metadata": { + "version": "6.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "gaxios": "^6.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/get-caller-file": { + "version": "2.0.5", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/@winglang/sdk/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/get-source": { + "version": "2.0.12", + "inBundle": true, + "license": "Unlicense", + "peer": true, + "dependencies": { + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" + } + }, + "node_modules/@winglang/sdk/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@winglang/sdk/node_modules/google-auth-library": { + "version": "8.9.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "arrify": "^2.0.0", + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "fast-text-encoding": "^1.0.0", + "gaxios": "^5.0.0", + "gcp-metadata": "^5.3.0", + "gtoken": "^6.1.0", + "jws": "^4.0.0", + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/google-gax": { + "version": "4.0.5", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@grpc/grpc-js": "~1.9.6", + "@grpc/proto-loader": "^0.7.0", + "@types/long": "^4.0.0", + "abort-controller": "^3.0.0", + "duplexify": "^4.0.0", + "google-auth-library": "^9.0.0", + "node-fetch": "^2.6.1", + "object-hash": "^3.0.0", + "proto3-json-serializer": "^2.0.0", + "protobufjs": "7.2.5", + "retry-request": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/gtoken": { + "version": "7.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "gaxios": "^6.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/http-errors": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/https-proxy-agent": { + "version": "7.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/iconv-lite": { + "version": "0.4.24", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/ioredis": { + "version": "5.3.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/@winglang/sdk/node_modules/ipaddr.js": { + "version": "1.9.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/is": { + "version": "3.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/is-docker": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/is-stream": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/is-stream-ended": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/is-wsl": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/json-bigint": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/json-schema-traverse": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/jsonschema": { + "version": "1.4.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/@winglang/sdk/node_modules/jsonwebtoken": { + "version": "9.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/jwa": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/jws": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/lodash.camelcase": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.defaults": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.includes": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isarguments": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isboolean": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isinteger": { + "version": "4.0.4", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isnumber": { + "version": "3.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isplainobject": { + "version": "4.0.6", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.isstring": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lodash.once": { + "version": "4.1.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/long": { + "version": "5.2.3", + "inBundle": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/luxon": { + "version": "3.4.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/media-typer": { + "version": "0.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/merge-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/methods": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/mime": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/mime-db": { + "version": "1.52.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/mime-types": { + "version": "2.1.35", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/mnemonist": { + "version": "0.38.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "obliterator": "^1.6.1" + } + }, + "node_modules/@winglang/sdk/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/nanoid": { + "version": "3.3.6", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/@winglang/sdk/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/node-fetch": { + "version": "2.7.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@winglang/sdk/node_modules/object-hash": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/object-inspect": { + "version": "1.12.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/obliterator": { + "version": "1.6.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/on-finished": { + "version": "2.4.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/@winglang/sdk/node_modules/open": { + "version": "8.4.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/p-limit": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglang/sdk/node_modules/parseurl": { + "version": "1.3.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/path-to-regexp": { + "version": "0.1.7", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/printable-characters": { + "version": "1.0.42", + "inBundle": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/process": { + "version": "0.11.10", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/@winglang/sdk/node_modules/proto3-json-serializer": { + "version": "2.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "protobufjs": "^7.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/protobufjs": { + "version": "7.2.5", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/proxy-addr": { + "version": "2.0.7", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@winglang/sdk/node_modules/punycode": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/qs": { + "version": "6.11.0", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/range-parser": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/raw-body": { + "version": "2.5.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@winglang/sdk/node_modules/redis-errors": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@winglang/sdk/node_modules/redis-parser": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@winglang/sdk/node_modules/require-directory": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/require-from-string": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/retry": { + "version": "0.13.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@winglang/sdk/node_modules/retry-request": { + "version": "7.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/request": "^2.48.8", + "debug": "^4.1.1", + "extend": "^3.0.2", + "teeny-request": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/safe-stable-stringify": { + "version": "2.4.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/sax": { + "version": "1.3.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/semver": { + "version": "7.5.4", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/send": { + "version": "0.18.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/serve-static": { + "version": "1.15.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@winglang/sdk/node_modules/set-function-length": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@winglang/sdk/node_modules/setprototypeof": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/side-channel": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@winglang/sdk/node_modules/source-map": { + "version": "0.6.1", + "inBundle": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@winglang/sdk/node_modules/split-array-stream": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-stream-ended": "^0.1.4" + } + }, + "node_modules/@winglang/sdk/node_modules/stacktracey": { + "version": "2.1.8", + "inBundle": true, + "license": "Unlicense", + "peer": true, + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, + "node_modules/@winglang/sdk/node_modules/standard-as-callback": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/statuses": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/stoppable": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, + "node_modules/@winglang/sdk/node_modules/stream-events": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "stubs": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/stream-shift": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/@winglang/sdk/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@winglang/sdk/node_modules/strnum": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/stubs": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/teeny-request": { + "version": "9.0.0", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.9", + "stream-events": "^1.0.5", + "uuid": "^9.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@winglang/sdk/node_modules/toidentifier": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/toml": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/tr46": { + "version": "0.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/tslib": { + "version": "2.6.2", + "inBundle": true, + "license": "0BSD", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/tunnel": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/@winglang/sdk/node_modules/type-is": { + "version": "1.6.18", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@winglang/sdk/node_modules/typedarray": { + "version": "0.0.6", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/ulid": { + "version": "2.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/@winglang/sdk/node_modules/undici-types": { + "version": "5.26.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/unpipe": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/uri-js": { + "version": "4.4.1", + "inBundle": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/@winglang/sdk/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/utils-merge": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/uuid": { + "version": "8.3.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@winglang/sdk/node_modules/vary": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/@winglang/sdk/node_modules/webidl-conversions": { + "version": "3.0.1", + "inBundle": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/whatwg-url": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/wrap-ansi": { + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@winglang/sdk/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/xml2js": { + "version": "0.5.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@winglang/sdk/node_modules/xmlbuilder": { + "version": "11.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@winglang/sdk/node_modules/y18n": { + "version": "5.0.8", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@winglang/sdk/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/@winglang/sdk/node_modules/yaml": { + "version": "2.3.2", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@winglang/sdk/node_modules/yargs": { + "version": "17.7.2", + "inBundle": true, + "license": "MIT", + "peer": 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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/yargs-parser": { + "version": "21.1.1", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@winglang/sdk/node_modules/yocto-queue": { + "version": "0.1.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@winglibs/containers": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/@winglibs/containers/-/containers-0.0.22.tgz", + "integrity": "sha512-/07HrqJ+aF4C+Vzu5thydvBPz9I7EgWXGEGaD/mRJHbtNU9jCNP2vkKPZD0W7Rum0q/eYYoU7u6PT8yjPf3kMQ==", + "peer": true, + "dependencies": { + "@cdktf/provider-aws": "^18.0.5", + "@cdktf/provider-docker": "^10.0.0", + "@cdktf/provider-helm": "^9.0.0", + "@cdktf/provider-kubernetes": "^10.0.0", + "@cdktf/provider-null": "^9.0.0", + "cdk8s-plus-27": "^2.7.33", + "glob": "^10.3.10" + }, + "engines": { + "wing": "*" + }, + "peerDependencies": { + "cdktf": "*", + "winglang": "*" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-aws": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-aws/-/provider-aws-18.2.0.tgz", + "integrity": "sha512-Dm+ORqd9ttGH8PqdDe4q72QHoHO0BfgBEMDasagcP4b0lhYV3oiYxJtHsqdOJEKiv6EvHZT3/iftXwU2uOjnlA==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-docker": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@cdktf/provider-docker/-/provider-docker-10.0.0.tgz", + "integrity": "sha512-lV2nLIwOM6v8wxjRg7wHSaXzs0gu7MK5JKFEKwP1u3lMFqprDOtqQJ2qO82K8Je7Q6gxkfwaAyZsa33BVVO/pg==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.0.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-helm": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@cdktf/provider-helm/-/provider-helm-9.0.2.tgz", + "integrity": "sha512-+xhUJtxPi2wLjPe1ZuQsMHrtMdV+90F90qiK7bKp4CNIkzZQ++wrSmw4DKUR6UWve9B4Xp+bX1B1U+9rZJxaCg==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-kubernetes": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@cdktf/provider-kubernetes/-/provider-kubernetes-10.1.1.tgz", + "integrity": "sha512-Z8SvVCKps4+lGEtiaoTfj7IVeYSRqkdcyImvSy4bAebXenCmH7dZc4jyubb7DPXUyTx7J+NJuDZzjsYpUQXo5w==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.3.0" + } + }, + "node_modules/@winglibs/containers/node_modules/@cdktf/provider-null": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@cdktf/provider-null/-/provider-null-9.0.1.tgz", + "integrity": "sha512-unmz1i944Y0gIavZTYl54jZBXQh95i21SStCRqRfiFyrsc88aw665HJt1G69uQXK3VtPuwjFSSVsG9UMRmZh6A==", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "peerDependencies": { + "cdktf": "^0.19.0", + "constructs": "^10.0.0" + } + }, + "node_modules/@winglibs/dynamodb": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@winglibs/dynamodb/-/dynamodb-0.0.3.tgz", + "integrity": "sha512-FLNToKDoWK/K9OeRa4VXjl+qWGzoHXBQd3amnneqNjyLiIM1n0DjAPZF+K0KT4G26y+CWB9Mc1DftdXkUood/g==", + "engines": { + "wing": "*" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.461.0", + "@aws-sdk/client-dynamodb-streams": "^3.461.0", + "@aws-sdk/lib-dynamodb": "^3.462.0", + "@aws-sdk/util-dynamodb": "^3.529.1", + "@cdktf/provider-aws": "^19.9.0", + "@winglibs/containers": "^0.0.22", + "get-port": "^7.0.0" + } + }, + "node_modules/@winglibs/sagemaker": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@winglibs/sagemaker/-/sagemaker-0.0.3.tgz", + "integrity": "sha512-gtleyI1UzQB7gPZ/auyxjAeATjcQ5ZBCfev4Y6zVMgsoYxhY0jlmEN57/bqnteWDx17vxdXWoG42VB4AHB2qGA==", + "dependencies": { + "@aws-sdk/client-sagemaker-runtime": "^3.507.0" + }, + "engines": { + "wing": "*" + } + }, + "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==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "peer": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "peer": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "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==", + "peer": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "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==", + "peer": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "peer": true + }, + "node_modules/are-we-there-yet": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-4.0.2.tgz", + "integrity": "sha512-ncSWAawFhKMJDTdoAeOV+jyW1VCMj5QIAwULIBV0SSR7B/RLPPEQiknKcg/RIIZlUQrxELpsxMiTUoAQ4sIUyg==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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==" + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "peer": true + }, + "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==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "optional": true, + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "optional": true, + "peer": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/backport": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/backport/-/backport-8.5.0.tgz", + "integrity": "sha512-gX8v+l+BTue2lmmqD/yQiR6JUUY+5OWNZTI1qyusViqC9R2iv4YFPqT23IcJfpYqlYb3DOiwunfVjKLickdQ6g==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "dependencies": { + "@octokit/rest": "^18.12.0", + "axios": "^0.27.2", + "dedent": "^0.7.0", + "del": "^6.1.1", + "dotenv": "^16.0.1", + "find-up": "^5.0.0", + "graphql": "^16.5.0", + "graphql-tag": "^2.12.6", + "inquirer": "^8.2.3", + "lodash": "^4.17.21", + "make-dir": "^3.1.0", + "ora": "^5.4.1", + "safe-json-stringify": "^1.2.0", + "strip-json-comments": "^3.1.1", + "terminal-link": "^2.1.1", + "utility-types": "^3.10.0", + "winston": "^3.7.2", + "yargs": "^17.5.1", + "yargs-parser": "^21.0.1" + }, + "bin": { + "backport": "bin/backport" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "peer": true + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "optional": true, + "peer": true + }, + "node_modules/bin-links": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.3.tgz", + "integrity": "sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA==", + "peer": true, + "dependencies": { + "cmd-shim": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "read-cmd-shim": "^4.0.0", + "write-file-atomic": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/binary-search": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", + "integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "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", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "peer": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "peer": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/builtins/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "peer": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cdk8s": { + "version": "2.68.46", + "resolved": "https://registry.npmjs.org/cdk8s/-/cdk8s-2.68.46.tgz", + "integrity": "sha512-dTT0ug2XeWnov5rAEeRUu0R8J7/mVPInBHH8QqCADDWvBShT/76yJsdkKj0Q2he0RluOtWabwXACCW1DeOlqxg==", + "bundleDependencies": [ + "fast-json-patch", + "follow-redirects", + "yaml" + ], + "peer": true, + "dependencies": { + "fast-json-patch": "^3.1.1", + "follow-redirects": "^1.15.2", + "yaml": "2.3.2" + }, + "engines": { + "node": ">= 16.20.0" + }, + "optionalDependencies": { + "backport": "8.5.0" + }, + "peerDependencies": { + "constructs": "^10" + } + }, + "node_modules/cdk8s-plus-27": { + "version": "2.7.84", + "resolved": "https://registry.npmjs.org/cdk8s-plus-27/-/cdk8s-plus-27-2.7.84.tgz", + "integrity": "sha512-mC6PaxwqRNvKnVvfT0DX8Jr42qyiwfiynT0ROq3vxF12su9V8gGjLqWFC6tuhj64Pxvo5I2atyRYeGVhnElh5Q==", + "bundleDependencies": [ + "minimatch" + ], + "peer": true, + "dependencies": { + "minimatch": "^3.1.2" + }, + "engines": { + "node": ">= 16.20.0" + }, + "optionalDependencies": { + "backport": "8.5.0" + }, + "peerDependencies": { + "cdk8s": "^2.68.11", + "constructs": "^10.3.0" + } + }, + "node_modules/cdk8s-plus-27/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s-plus-27/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s-plus-27/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/cdk8s-plus-27/node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cdk8s/node_modules/fast-json-patch": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdk8s/node_modules/follow-redirects": { + "version": "1.15.5", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/cdk8s/node_modules/yaml": { + "version": "2.3.2", + "inBundle": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/cdktf": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/cdktf/-/cdktf-0.20.5.tgz", + "integrity": "sha512-CA0RkrKJETnaxGG6fBQHiojTZ8Sl+MCYsISbOqYYRfakHaM9mN4/a0v0bH1u5zi9ODyjyUmjfh7BqGfZagMjRw==", + "bundleDependencies": [ + "archiver", + "json-stable-stringify", + "semver" + ], + "peer": true, + "dependencies": { + "archiver": "6.0.2", + "json-stable-stringify": "1.1.1", + "semver": "7.6.0" + }, + "peerDependencies": { + "constructs": "^10.0.25" + } + }, + "node_modules/cdktf/node_modules/archiver": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^5.0.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/archiver-utils": { + "version": "4.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "glob": "^8.0.0", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/async": { + "version": "3.2.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/b4a": { + "version": "1.6.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cdktf/node_modules/buffer-crc32": { + "version": "0.2.13", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/cdktf/node_modules/call-bind": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/compress-commons": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^5.0.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/core-util-is": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/crc-32": { + "version": "1.2.2", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cdktf/node_modules/crc32-stream": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/cdktf/node_modules/define-data-property": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/fast-fifo": { + "version": "1.3.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/function-bind": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/get-intrinsic": { + "version": "1.2.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/glob": { + "version": "8.1.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cdktf/node_modules/gopd": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/graceful-fs": { + "version": "4.2.11", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/has-property-descriptors": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/has-proto": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/has-symbols": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/hasown": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/cdktf/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/isarray": { + "version": "2.0.5", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/json-stable-stringify": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.5", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/jsonify": { + "version": "0.0.1", + "inBundle": true, + "license": "Public Domain", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/cdktf/node_modules/lazystream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/isarray": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "inBundle": true, + "license": "MIT", + "peer": 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/cdktf/node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/cdktf/node_modules/lodash": { + "version": "4.17.21", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/minimatch": { + "version": "5.1.6", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/normalize-path": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cdktf/node_modules/object-keys": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/cdktf/node_modules/process-nextick-args": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/queue-tick": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/readable-stream": { + "version": "3.6.2", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cdktf/node_modules/readdir-glob": { + "version": "1.1.3", + "inBundle": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/cdktf/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/semver": { + "version": "7.6.0", + "inBundle": true, + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cdktf/node_modules/set-function-length": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/cdktf/node_modules/streamx": { + "version": "2.15.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/cdktf/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/cdktf/node_modules/tar-stream": { + "version": "3.1.6", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/cdktf/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/cdktf/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "peer": true + }, + "node_modules/cdktf/node_modules/zip-stream": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "compress-commons": "^5.0.1", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "peer": true + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "peer": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "optional": true, + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/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==", + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "optional": true, + "peer": true + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cmd-shim": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.2.tgz", + "integrity": "sha512-+FFYbB0YLaAkhkcrjkyNLYDiOsFSfRjwjY19LXk/psmMx1z00xlCv7hhQoTGXXIKi+YXHL/iiFo8NqMVQX9nOw==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/codespan-wasm": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/codespan-wasm/-/codespan-wasm-0.4.0.tgz", + "integrity": "sha512-TVS9MyHIeTV1Zm/wBpgjY1Lyx49Ikj7mccrBrCwWc0/oM7MoeHtVPWwM+Q9CBKWJTZLwp7D1s8PT6NnCqvQrhA==", + "peer": true, + "dependencies": { + "debug": "^4.3.4" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "optional": true, + "peer": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "optional": true, + "peer": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "peer": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "optional": true, + "peer": true, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "peer": true + }, + "node_modules/compare-versions": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", + "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==", + "peer": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "optional": true, + "peer": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "peer": true + }, + "node_modules/constructs": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.3.0.tgz", + "integrity": "sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==", + "peer": true, + "engines": { + "node": ">= 16.14.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "peer": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "engines": { + "node": "*" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "peer": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "optional": true, + "peer": true + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "peer": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "optional": true, + "peer": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "optional": true, + "peer": true + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "peer": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/digest-fetch": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz", + "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==", + "dependencies": { + "base-64": "^0.1.0", + "md5": "^2.3.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "optional": true, + "peer": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/dset": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.3.tgz", + "integrity": "sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "peer": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "peer": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "peer": true + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "optional": true, + "peer": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "peer": true + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "hasInstallScript": true, + "optional": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "peer": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "peer": true + }, + "node_modules/expr-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz", + "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==" + }, + "node_modules/express": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", + "peer": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "peer": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-xml-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "optional": true, + "peer": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "optional": true, + "peer": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "peer": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "peer": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "optional": true, + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "optional": true, + "peer": true + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/formdata-node/node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "peer": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "optional": true, + "peer": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz", + "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==", + "peer": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^4.0.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "optional": true, + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "peer": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", + "peer": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "peer": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "optional": true, + "peer": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "node_modules/graphql": { + "version": "16.8.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", + "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", + "optional": true, + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "peer": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "peer": true + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "peer": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "peer": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "peer": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "peer": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "peer": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "peer": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", + "peer": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "peer": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "optional": true, + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "peer": true + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "peer": 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_modules/ionstore": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ionstore/-/ionstore-1.0.0.tgz", + "integrity": "sha512-ikEvmeZFh9u5SkjKbFqJlmmhaQTulB3P7QoSoZ/xL8EDP5uj5QWbPeKcQ8ZJtszBLHRRnhIJJE8P1dhFx/oCMw==", + "peer": true + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "peer": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-any-array": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "optional": true, + "peer": true + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "peer": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, + "peer": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "peer": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "peer": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "peer": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-tiktoken": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.10.tgz", + "integrity": "sha512-ZoSxbGjvGyMT13x6ACo9ebhDha/0FHdKA+OsQcMOWcm1Zs7r90Rhk5lhERLzji+3rA7EKpXCgwXcM5fF3DMpdA==", + "dependencies": { + "base64-js": "^1.5.1" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-stringify-nice": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz", + "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ], + "peer": true + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/just-diff": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz", + "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==", + "peer": true + }, + "node_modules/just-diff-apply": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz", + "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", + "peer": true + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "optional": true, + "peer": true + }, + "node_modules/langchain": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.1.28.tgz", + "integrity": "sha512-LNuILtOSFptfOqDwUwQAl7B0dYrBtxzVZ6lDhc5DA8rk+pyTCy12HQO7t8bGqC8oQlEPYPKaom8VRlvfupUBTw==", + "dependencies": { + "@anthropic-ai/sdk": "^0.9.1", + "@langchain/community": "~0.0.36", + "@langchain/core": "~0.1.44", + "@langchain/openai": "~0.0.19", + "binary-extensions": "^2.2.0", + "expr-eval": "^2.0.2", + "js-tiktoken": "^1.0.7", + "js-yaml": "^4.1.0", + "jsonpointer": "^5.0.1", + "langchainhub": "~0.0.8", + "langsmith": "~0.1.7", + "ml-distance": "^4.0.0", + "openapi-types": "^12.1.3", + "p-retry": "4", + "uuid": "^9.0.0", + "yaml": "^2.2.1", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@aws-sdk/client-s3": "^3.310.0", + "@aws-sdk/client-sagemaker-runtime": "^3.310.0", + "@aws-sdk/client-sfn": "^3.310.0", + "@aws-sdk/credential-provider-node": "^3.388.0", + "@azure/storage-blob": "^12.15.0", + "@gomomento/sdk": "^1.51.1", + "@gomomento/sdk-core": "^1.51.1", + "@gomomento/sdk-web": "^1.51.1", + "@google-ai/generativelanguage": "^0.2.1", + "@google-cloud/storage": "^6.10.1 || ^7.7.0", + "@notionhq/client": "^2.2.10", + "@pinecone-database/pinecone": "*", + "@supabase/supabase-js": "^2.10.0", + "@vercel/kv": "^0.2.3", + "@xata.io/client": "^0.28.0", + "apify-client": "^2.7.1", + "assemblyai": "^4.0.0", + "axios": "*", + "cheerio": "^1.0.0-rc.12", + "chromadb": "*", + "convex": "^1.3.1", + "couchbase": "^4.2.10", + "d3-dsv": "^2.0.0", + "epub2": "^3.0.1", + "fast-xml-parser": "*", + "google-auth-library": "^8.9.0", + "handlebars": "^4.7.8", + "html-to-text": "^9.0.5", + "ignore": "^5.2.0", + "ioredis": "^5.3.2", + "jsdom": "*", + "mammoth": "^1.6.0", + "mongodb": ">=5.2.0", + "node-llama-cpp": "*", + "notion-to-md": "^3.1.0", + "officeparser": "^4.0.4", + "pdf-parse": "1.1.1", + "peggy": "^3.0.2", + "playwright": "^1.32.1", + "puppeteer": "^19.7.2", + "pyodide": "^0.24.1", + "redis": "^4.6.4", + "sonix-speech-recognition": "^2.1.1", + "srt-parser-2": "^1.2.3", + "typeorm": "^0.3.12", + "weaviate-ts-client": "*", + "web-auth-library": "^1.0.3", + "ws": "^8.14.2", + "youtube-transcript": "^1.0.6", + "youtubei.js": "^9.1.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/client-s3": { + "optional": true + }, + "@aws-sdk/client-sagemaker-runtime": { + "optional": true + }, + "@aws-sdk/client-sfn": { + "optional": true + }, + "@aws-sdk/credential-provider-node": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@gomomento/sdk": { + "optional": true + }, + "@gomomento/sdk-core": { + "optional": true + }, + "@gomomento/sdk-web": { + "optional": true + }, + "@google-ai/generativelanguage": { + "optional": true + }, + "@google-cloud/storage": { + "optional": true + }, + "@notionhq/client": { + "optional": true + }, + "@pinecone-database/pinecone": { + "optional": true + }, + "@supabase/supabase-js": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "apify-client": { + "optional": true + }, + "assemblyai": { + "optional": true + }, + "axios": { + "optional": true + }, + "cheerio": { + "optional": true + }, + "chromadb": { + "optional": true + }, + "convex": { + "optional": true + }, + "couchbase": { + "optional": true + }, + "d3-dsv": { + "optional": true + }, + "epub2": { + "optional": true + }, + "faiss-node": { + "optional": true + }, + "fast-xml-parser": { + "optional": true + }, + "google-auth-library": { + "optional": true + }, + "handlebars": { + "optional": true + }, + "html-to-text": { + "optional": true + }, + "ignore": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "mammoth": { + "optional": true + }, + "mongodb": { + "optional": true + }, + "node-llama-cpp": { + "optional": true + }, + "notion-to-md": { + "optional": true + }, + "officeparser": { + "optional": true + }, + "pdf-parse": { + "optional": true + }, + "peggy": { + "optional": true + }, + "playwright": { + "optional": true + }, + "puppeteer": { + "optional": true + }, + "pyodide": { + "optional": true + }, + "redis": { + "optional": true + }, + "sonix-speech-recognition": { + "optional": true + }, + "srt-parser-2": { + "optional": true + }, + "typeorm": { + "optional": true + }, + "weaviate-ts-client": { + "optional": true + }, + "web-auth-library": { + "optional": true + }, + "ws": { + "optional": true + }, + "youtube-transcript": { + "optional": true + }, + "youtubei.js": { + "optional": true + } + } + }, + "node_modules/langchain/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/langchainhub": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/langchainhub/-/langchainhub-0.0.8.tgz", + "integrity": "sha512-Woyb8YDHgqqTOZvWIbm2CaFDGfZ4NTSyXV687AG4vXEfoNo7cGQp7nhl7wL3ehenKWmNEmcxCLgOZzW8jE6lOQ==" + }, + "node_modules/langsmith": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.14.tgz", + "integrity": "sha512-iEzQLLB7/0nRpAwNBAR7B7N64fyByg5UsNjSvLaCCkQ9AS68PSafjB8xQkyI8QXXrGjU1dEqDRoa8m4SUuRdUw==", + "dependencies": { + "@types/uuid": "^9.0.1", + "commander": "^10.0.1", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0" + } + }, + "node_modules/langsmith/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/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "peer": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "optional": true, + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "peer": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "optional": true, + "peer": true, + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "peer": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "optional": true, + "peer": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "peer": true, + "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", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "peer": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "optional": true, + "peer": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "peer": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "peer": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "peer": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "peer": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "peer": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "peer": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "peer": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "peer": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ml-array-mean": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", + "integrity": "sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==", + "dependencies": { + "ml-array-sum": "^1.1.6" + } + }, + "node_modules/ml-array-sum": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", + "integrity": "sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-distance": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.1.tgz", + "integrity": "sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==", + "dependencies": { + "ml-array-mean": "^1.1.6", + "ml-distance-euclidean": "^2.0.0", + "ml-tree-similarity": "^1.0.0" + } + }, + "node_modules/ml-distance-euclidean": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", + "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" + }, + "node_modules/ml-tree-similarity": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", + "integrity": "sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==", + "dependencies": { + "binary-search": "^1.3.5", + "num-sort": "^2.0.0" + } + }, + "node_modules/mnemonist": { + "version": "0.38.3", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz", + "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==", + "peer": true, + "dependencies": { + "obliterator": "^1.6.1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "peer": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "peer": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/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==", + "peer": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "peer": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "peer": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "peer": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "peer": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "peer": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "peer": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "peer": true, + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "peer": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "peer": true, + "dependencies": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npmlog": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz", + "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==", + "peer": true, + "dependencies": { + "are-we-there-yet": "^4.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^5.0.0", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/num-sort": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz", + "integrity": "sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz", + "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==", + "peer": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "optional": true, + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "optional": true, + "peer": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "peer": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "peer": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openai": { + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.29.2.tgz", + "integrity": "sha512-cPkT6zjEcE4qU5OW/SoDDuXEsdOLrXlAORhzmaguj5xZSPlgKvLhi27sFWhLKj07Y6WKNWxcwIbzm512FzTBNQ==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "digest-fetch": "^1.3.0", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7", + "web-streams-polyfill": "^3.2.1" + }, + "bin": { + "openai": "bin/cli" + } + }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==" + }, + "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==", + "peer": 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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "optional": true, + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "optional": true, + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "peer": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pacote": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", + "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", + "peer": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parse-conflict-json": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz", + "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==", + "peer": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "just-diff": "^6.0.0", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "peer": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "peer": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "peer": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", + "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/promise-all-reject-late": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", + "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-call-limit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-3.0.1.tgz", + "integrity": "sha512-utl+0x8gIDasV5X+PI5qWEPqH6fJS0pFtQ/4gZ95xfEFb/89dmh+/b895TbFDBLiafBvxD/PGTKfvxl4kH/pQg==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "peer": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "peer": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "peer": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "peer": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "peer": true + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cmd-shim": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz", + "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", + "peer": true, + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "peer": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "peer": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "peer": true + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "optional": true, + "peer": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "optional": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/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==", + "optional": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "optional": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "peer": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "peer": true, + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "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==", + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true, + "peer": true + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "peer": true + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "peer": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "peer": true + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "peer": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "peer": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "peer": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.2.tgz", + "integrity": "sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==", + "peer": true, + "dependencies": { + "@sigstore/bundle": "^2.2.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/sign": "^2.2.3", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "optional": true, + "peer": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "peer": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "peer": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "peer": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "peer": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "peer": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "peer": true + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "peer": true + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "peer": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "optional": true, + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "peer": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "peer": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "optional": true, + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "optional": true, + "peer": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "peer": true + }, + "node_modules/tiny-colors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tiny-colors/-/tiny-colors-2.1.2.tgz", + "integrity": "sha512-6peGRBtkYBJpVrQUWOPKrC0ECo6WotUlXxirVTKvihjdgxQETpKtLdCKIb68IHjJYH1AOE7GM7RnxFvkGHsqOg==", + "peer": true + }, + "node_modules/tiny-updater": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/tiny-updater/-/tiny-updater-3.5.1.tgz", + "integrity": "sha512-kh1922FSNPTmrdr353x+xJRTrrVFl9zq/Q1Vz47YNWhTO0jn3ZyZd6Cahe8qW5MLXg+gia+0G7b6HIgW7pbBMg==", + "peer": true, + "dependencies": { + "ionstore": "^1.0.0", + "tiny-colors": "^2.0.2", + "when-exit": "^2.1.1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "peer": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "peer": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/treeverse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz", + "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tuf-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", + "peer": true, + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "peer": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", + "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "peer": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "optional": true, + "peer": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "peer": true + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "optional": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "peer": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "peer": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz", + "integrity": "sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==", + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz", + "integrity": "sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==", + "peer": true, + "dependencies": { + "vscode-languageserver-protocol": "3.17.3" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz", + "integrity": "sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==", + "peer": true, + "dependencies": { + "vscode-jsonrpc": "8.1.0", + "vscode-languageserver-types": "3.17.3" + } + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "peer": true + }, + "node_modules/walk-up-path": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz", + "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==", + "peer": true + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "peer": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/when-exit": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.2.tgz", + "integrity": "sha512-u9J+toaf3CCxCAzM/484qNAxQE75rFdVgiFEEV8Xps2gzYhf0tx73s1WXDQhkwV17E3MxRMz40m7Ekd2/121Lg==", + "peer": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "peer": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/winglang": { + "version": "0.63.2", + "resolved": "https://registry.npmjs.org/winglang/-/winglang-0.63.2.tgz", + "integrity": "sha512-gXqx8BIihLXwDqwYdvuez8cohA0Kw7b7tGG+ErIjKt+TIsZgGMyefkUZK5pnjKfovpzEeCqTwg4wh3/zezMFvw==", + "peer": true, + "dependencies": { + "@npmcli/arborist": "^7.2.0", + "@segment/analytics-node": "^1.1.0", + "@wingconsole/app": "0.63.2", + "@wingconsole/server": "0.63.2", + "@winglang/compiler": "0.63.2", + "@winglang/sdk": "0.63.2", + "chalk": "^4.1.2", + "codespan-wasm": "0.4.0", + "commander": "^10.0.1", + "compare-versions": "^5.0.3", + "debug": "^4.3.4", + "dotenv": "^16.3.1", + "dotenv-expand": "^10.0.0", + "glob": "^10.3.10", + "inquirer": "^8", + "nanoid": "^3.3.6", + "npm-packlist": "^8.0.0", + "open": "^8.4.2", + "ora": "^5.4.1", + "tar": "^6.2.0", + "tiny-updater": "^3.5.1", + "uuid": "^8.3.2", + "vscode-languageserver": "^8.1.0" + }, + "bin": { + "wing": "bin/wing" + }, + "engines": { + "node": ">=v18.0.0" + } + }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "optional": true, + "peer": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "optional": true, + "peer": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "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==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/wrap-ansi/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==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "optional": true, + "peer": true + }, + "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==", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "peer": true + }, + "node_modules/yaml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", + "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "optional": true, + "peer": 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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.22.5.tgz", + "integrity": "sha512-+akaPo6a0zpVCCseDed504KBJUQpEW5QZw7RMneNmKw+fGaML1Z9tUNLnHHAC8x6dzVRO1eB2oEMyZRnuBZg7Q==", + "peerDependencies": { + "zod": "^3.22.4" + } + } + } +} diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package.json b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package.json new file mode 100644 index 00000000..b477c3f9 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/wing-wing/package.json @@ -0,0 +1,14 @@ +{ + "name": "wing-chatbot", + "version": "0.0.0", + "description": "A description of my Wing application", + "author": "Your Name", + "license": "MIT", + "wing": true, + "dependencies": { + "@langchain/community": "^0.0.42", + "@winglibs/dynamodb": "^0.0.3", + "@winglibs/sagemaker": "^0.0.3", + "langchain": "^0.1.28" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c883b54a..c7b0ad95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -779,7 +779,7 @@ packages: resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.460.0 + '@aws-sdk/types': 3.535.0 tslib: 1.14.1 dev: false @@ -796,7 +796,7 @@ packages: '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 + '@aws-sdk/types': 3.535.0 '@aws-sdk/util-locate-window': 3.465.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 @@ -806,7 +806,7 @@ packages: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 + '@aws-sdk/types': 3.535.0 tslib: 1.14.1 dev: false @@ -819,7 +819,7 @@ packages: /@aws-crypto/util@3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: - '@aws-sdk/types': 3.460.0 + '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: false @@ -2414,6 +2414,14 @@ packages: tslib: 2.6.2 dev: false + /@aws-sdk/types@3.535.0: + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: false + /@aws-sdk/util-dynamodb@3.431.0(@aws-sdk/client-dynamodb@3.427.0): resolution: {integrity: sha512-eH40URobQ57HloQmOxDlt9e0Q6JFd9QnMsNmVLrth/tFSy1J9/shRDbbKDBuLD3pmr5/UJECOPdtqPXYJK+t7A==} engines: {node: '>=14.0.0'} @@ -5355,6 +5363,13 @@ packages: tslib: 2.6.2 dev: false + /@smithy/types@2.12.0: + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} + dependencies: + tslib: 2.6.2 + dev: false + /@smithy/types@2.8.0: resolution: {integrity: sha512-h9sz24cFgt/W1Re22OlhQKmUZkNh244ApgRsUDYinqF8R+QgcsBIX344u2j61TPshsTz3CvL6HYU1DnQdsSrHA==} engines: {node: '>=14.0.0'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d6242c3d..798aaafd 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -5,4 +5,5 @@ packages: # - "devapps/*" - "testapps/*" - "examples/*" + - "!examples/langchain-llama2-chatbot-sagemaker/comparison/*" - "!components/deducers/python-pyright/libs/*" From 56d2d265ada26223db00cfd89ae732a380a33fb0 Mon Sep 17 00:00:00 2001 From: Shoujian Zheng Date: Mon, 25 Mar 2024 20:20:16 +0800 Subject: [PATCH 8/8] chore: add a python version of the langchain-llama2-chatbot-sagemaker example --- .changeset/config.json | 3 +- .../.gitignore | 38 ++++++ .../.pluto/pluto.yml | 4 +- .../README.md | 6 + .../README_zh.md | 6 + .../app/main.py | 127 ++++++++++++++++++ .../package.json | 20 +++ .../requirements.txt | 1 + .../README.md | 30 +++-- .../README_zh.md | 30 +++-- .../comparison/application-python/main.py | 85 ++++++++++++ .../src/index.ts | 5 +- pnpm-lock.yaml | 24 ++-- 13 files changed, 333 insertions(+), 46 deletions(-) create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/.gitignore rename examples/{langchain-py => langchain-llama2-chatbot-sagemaker-python}/.pluto/pluto.yml (81%) create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/README.md create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/README_zh.md create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/app/main.py create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/package.json create mode 100644 examples/langchain-llama2-chatbot-sagemaker-python/requirements.txt create mode 100644 examples/langchain-llama2-chatbot-sagemaker/comparison/application-python/main.py diff --git a/.changeset/config.json b/.changeset/config.json index 0eb6f376..3e7edfb8 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -16,6 +16,7 @@ "gpt2-hf-sagemaker", "langchain-llama2-sagemaker", "quickstart-python", - "langchain-llama2-chatbot-sagemaker" + "langchain-llama2-chatbot-sagemaker", + "langchain-llama2-chatbot-sagemaker-python" ] } diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/.gitignore b/examples/langchain-llama2-chatbot-sagemaker-python/.gitignore new file mode 100644 index 00000000..9e6a4d69 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/.gitignore @@ -0,0 +1,38 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules +.pnp +.pnp.js + +# testing +coverage + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# turbo +.turbo + +# vercel +.vercel + +# compilation result +**/dist/ + +# pluto +.pluto/**/state/ +.pluto/*.test.*/ \ No newline at end of file diff --git a/examples/langchain-py/.pluto/pluto.yml b/examples/langchain-llama2-chatbot-sagemaker-python/.pluto/pluto.yml similarity index 81% rename from examples/langchain-py/.pluto/pluto.yml rename to examples/langchain-llama2-chatbot-sagemaker-python/.pluto/pluto.yml index d8b0878b..33bfaa6c 100644 --- a/examples/langchain-py/.pluto/pluto.yml +++ b/examples/langchain-llama2-chatbot-sagemaker-python/.pluto/pluto.yml @@ -2,6 +2,6 @@ current: aws language: python stacks: - configs: {} - provisionType: Pulumi name: aws - platformType: AWS \ No newline at end of file + platformType: AWS + provisionType: Pulumi diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/README.md b/examples/langchain-llama2-chatbot-sagemaker-python/README.md new file mode 100644 index 00000000..08fb0072 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/README.md @@ -0,0 +1,6 @@ +# Building a Llama2 Conversational Chatbot with AWS and LangChain + +The difference between this and the [TypeScript version of the Pluto example](../langchain-llama2-chatbot-sagemaker/) lies in its implementation in Python, which has not yet been successfully deployed. The issues encountered include: + +1. When deploying across platforms, dependencies such as Numpy and Pydantic cannot be correctly installed on the target platform. +2. The size of the compressed package exceeds the AWS Lambda limit of 50MB. diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/README_zh.md b/examples/langchain-llama2-chatbot-sagemaker-python/README_zh.md new file mode 100644 index 00000000..5c619a37 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/README_zh.md @@ -0,0 +1,6 @@ +# 基于 AWS 和 LangChain 的 Llama2 会话聊天机器人 + +与 [TypeScript 版本的 Pluto 示例](../langchain-llama2-chatbot-sagemaker/)应用区别在于使用 Python 实现,尚未成功部署,存在的问题包括: + +1. 跨平台部署时,Numpy、Pydantic 等依赖包无法在目标平台正确安装。 +2. 压缩包大小超过 AWS Lambda 限制,50MB。 diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/app/main.py b/examples/langchain-llama2-chatbot-sagemaker-python/app/main.py new file mode 100644 index 00000000..68b31973 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/app/main.py @@ -0,0 +1,127 @@ +import os +import json +from typing import Dict + +from pluto_client.sagemaker import SageMaker, SageMakerOptions +from pluto_client import Router, HttpRequest, HttpResponse, KVStore + +from langchain.prompts import PromptTemplate +from langchain.memory.buffer import ConversationBufferMemory +from langchain.chains.conversation.base import ConversationChain +from langchain_community.chat_message_histories.dynamodb import ( + DynamoDBChatMessageHistory, +) +from langchain_community.llms.sagemaker_endpoint import ( + SagemakerEndpoint, + LLMContentHandler, +) + +""" +Deploy the Llama2 model on AWS SageMaker using the Hugging Face Text Generation Inference (TGI) +container. If you're unable to deploy the model because of the instance type, consider using the +TinyLlama-1.1B-Chat-v1.0 model, which is compatible with the ml.m5.xlarge instance. + +Below is a set up minimum requirements for each model size of Llama2 model: +``` +Model Instance Type Quantization # of GPUs per replica +Llama 7B ml.g5.2xlarge - 1 +Llama 13B ml.g5.12xlarge - 4 +Llama 70B ml.g5.48xlarge bitsandbytes 8 +Llama 70B ml.p4d.24xlarge - 8 +``` + +The initial limit set for these instances is zero. If you need more, you can request an increase +in quota via the [AWS Management Console](https://console.aws.amazon.com/servicequotas/home). +""" +sagemaker = SageMaker( + "llama2", + "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-tgi-inference:2.1.1-tgi1.4.0-gpu-py310-cu121-ubuntu20.04", + SageMakerOptions( + instanceType="ml.g5.2xlarge", + envs={ + "HF_MODEL_ID": "meta-llama/Llama-2-7b-chat-hf", + "HF_TASK": "text-generation", + # If you want to deploy the Meta Llama2 model, you need to request a permission and + # prepare the token. You can get the token from https://huggingface.co/settings/tokens + "HUGGING_FACE_HUB_TOKEN": "hf_EmXPwpnyHoNrxxxxxxxxx", + }, + ), +) + +router = Router("chatbot") +conversations = KVStore("conversations") + + +class ContentHandler(LLMContentHandler): + content_type = "application/json" + accepts = "application/json" + + def transform_input(self, prompt: str, model_kwargs: Dict) -> bytes: + input_str = json.dumps({"inputs": prompt, "parameters": model_kwargs}) + return input_str.encode("utf-8") + + def transform_output(self, output: bytes) -> str: + response_json = json.loads(output.decode("utf-8")) + return response_json[0]["generated_text"] + + +def get_aws_region() -> str: + aws_region = os.environ.get("AWS_REGION") + if aws_region is None: + raise ValueError("AWS_REGION environment variable must be set") + return aws_region + + +llm = SagemakerEndpoint( + endpoint_name=sagemaker.endpoint_name, # SageMaker endpoint name + region_name=get_aws_region(), + content_handler=ContentHandler(), +) + + +def chat_handler(req: HttpRequest) -> HttpResponse: + query = req.query["query"] + sessionid = req.query["sessionid"] + if isinstance(sessionid, list): + sessionid = sessionid[0] + + memory = ConversationBufferMemory( + chat_memory=DynamoDBChatMessageHistory( + table_name=conversations.aws_table_name, # DynamoDB table name + primary_key_name=conversations.aws_partition_key, # DynamoDB partition key + session_id=sessionid, + ) + ) + + promptTemplate = PromptTemplate.from_template( + """<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>""" + ) + + chain = ConversationChain( + llm=llm, + memory=memory, + prompt=promptTemplate, + ) + + result = chain({"query": query}) + print(result) + + return HttpResponse(status_code=200, body="hello world") + + # TODO: Use the following statement to help the deducer identify the right relationship between + # Lambda and other resources. This will be used to grant permission for the Lambda instance to + # access the SageMaker endpoint and the DynamoDB. This code should be removed after the deducer + # supports the analysis of libraries. + conversations.get("") + conversations.set("", "") + sagemaker.invoke("") + + +router.get("/chatbot", chat_handler) diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/package.json b/examples/langchain-llama2-chatbot-sagemaker-python/package.json new file mode 100644 index 00000000..1cc61cc3 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/package.json @@ -0,0 +1,20 @@ +{ + "name": "langchain-llama2-chatbot-sagemaker-python", + "private": true, + "version": "0.0.1", + "scripts": { + "test:dev": "pluto test --sim", + "test:prod": "pluto test", + "deploy": "pluto deploy", + "destroy": "pluto destroy" + }, + "dependencies": {}, + "devDependencies": { + "@types/node": "^20", + "typescript": "^5.2.2", + "@plutolang/base": "latest", + "@plutolang/pluto-infra": "latest", + "@pulumi/pulumi": "^3.88.0" + }, + "main": "dist/index.js" +} diff --git a/examples/langchain-llama2-chatbot-sagemaker-python/requirements.txt b/examples/langchain-llama2-chatbot-sagemaker-python/requirements.txt new file mode 100644 index 00000000..14a946e4 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker-python/requirements.txt @@ -0,0 +1 @@ +pluto_client \ No newline at end of file diff --git a/examples/langchain-llama2-chatbot-sagemaker/README.md b/examples/langchain-llama2-chatbot-sagemaker/README.md index 6edad7fe..be92eb5d 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/README.md +++ b/examples/langchain-llama2-chatbot-sagemaker/README.md @@ -21,19 +21,21 @@ As illustrated above, our example application relies on the following AWS servic The table below shows a comparison between Pluto and other tools regarding the amount and type of code: -| | Code Type | Lines of Code | Code Location | -| ------------------------------------------------------- | ---------------------------------- | -------------------- | -------------------------------- | -| Application | Business Logic | 83(.ts) | [Code](./comparison/application) | -| [Terraform](https://www.terraform.io/) | Infrastructure Configuration | 201(.tf) | [Code](./comparison/terraform) | -| [Pulumi](https://www.pulumi.com/) | Infrastructure Configuration | 157(.ts) | [Code](./comparison/pulumi) | -| [Pulumi Serverless](https://www.pulumi.com/serverless/) | Business Logic + Configuration | 256(.ts) | [Code](./comparison/pulumi-app) | -| [Winglang - TS](https://github.com/winglang/wing) | Business Logic + Configuration | 100(.ts) | [Code](./comparison/wing-ts) | -| [Winglang - Wing](https://github.com/winglang/wing) | Business Logic + Configuration | 71(.w) + 47(.ts) | [Code](./comparison/wing-wing) | -| [Lepton](https://www.lepton.ai/) | Business Logic + Configuration | 116(.py) | [Code](./comparison/lepton) | -| [Serverless](https://github.com/serverless/serverless) | Business Logic + Configuration | 79(.ts) + 120(.yaml) | [Code](./comparison/serverless) | -| **Pluto** | **Business Logic + Configuration** | **100(.ts)** | [Code](./src) | - -By examining the table data, it's evident that Pluto adds 17 lines of code in contrast to pure business logic code. This includes code related to cloud resource creation and permission configuration. When infrastructure setup is handled using provisioning tools like Pulumi or Terraform, the combined code for business logic and infrastructure configuration exceeds twice the size of Pluto's code. Compared to tools such as Pulumi's Serverless feature, Winglang, Lepton, and Serverless, which streamline cloud usage, Pluto demands lower cloud and AI background knowledge and entails less code. +| | Code Type | Lines of Code | Code Location | +| ------------------------------------------------------- | ---------------------------------- | -------------------- | ---------------------------------------------------- | +| Application - TypeScript | Business Logic | 83(.ts) | [Code](./comparison/application) | +| [Terraform](https://www.terraform.io/) | Infrastructure Configuration | 201(.tf) | [Code](./comparison/terraform) | +| [Pulumi](https://www.pulumi.com/) | Infrastructure Configuration | 157(.ts) | [Code](./comparison/pulumi) | +| [Pulumi Serverless](https://www.pulumi.com/serverless/) | Business Logic + Configuration | 256(.ts) | [Code](./comparison/pulumi-app) | +| [Winglang - TS](https://github.com/winglang/wing) | Business Logic + Configuration | 100(.ts) | [Code](./comparison/wing-ts) | +| [Winglang - Wing](https://github.com/winglang/wing) | Business Logic + Configuration | 71(.w) + 47(.ts) | [Code](./comparison/wing-wing) | +| [Serverless](https://github.com/serverless/serverless) | Business Logic + Configuration | 79(.ts) + 120(.yaml) | [Code](./comparison/serverless) | +| **Pluto - TypeScript** | **Business Logic + Configuration** | **100(.ts)** | [Code](./src) | +| Application - Python | Business Logic | 60(.py) | [Code](./comparison/application-python) | +| [Lepton](https://www.lepton.ai/) | Business Logic + Configuration | 116(.py) | [Code](./comparison/lepton) | +| **Pluto - Python** | **Business Logic + Configuration** | **74(.py) ** | [Code](../langchain-llama2-chatbot-sagemaker-python) | + +By examining the table data, the TypeScript and Python versions of the Pluto application add 17 and 14 lines of code, respectively, in contrast to pure business logic code. This includes code related to cloud resource creation and permission configuration. When infrastructure setup is handled using provisioning tools like Pulumi or Terraform, the combined code for business logic and infrastructure configuration exceeds twice the size of Pluto's code. Compared to tools such as Pulumi's Serverless feature, Winglang, Lepton, and Serverless, which streamline cloud usage, Pluto demands lower cloud and AI background knowledge and entails less code. While using other tools, we faced several issues that ultimately hindered the deployment of this code. For instance, Winglang lacks support for SageMaker Model and EndpointConfig resource types, Pulumi runtime errors, and intricate resource configuration. If you're interested, feel free to lend a hand with the fixes. @@ -58,7 +60,7 @@ To deploy this chatbot, please follow the steps below: pluto deploy ``` -Be patient, as deploying the model in SageMaker can take some time. Once the deployment is complete, the console will display the URL for ApiGateway, which you can access via a browser or a curl command. Here is a simple test command: +**Be patient, as deploying the model in SageMaker can take some time.** Once the deployment is complete, the console will display the URL for ApiGateway, which you can access via a browser or a curl command. Here is a simple test command: ```bash CHATBOT_API_URL=your ApiGateway URL diff --git a/examples/langchain-llama2-chatbot-sagemaker/README_zh.md b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md index 3c7c772a..6c87f8ff 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/README_zh.md +++ b/examples/langchain-llama2-chatbot-sagemaker/README_zh.md @@ -21,19 +21,21 @@ 我们尝试使用其他工具构建相同的示例应用,以下表格展示了 Pluto 与其他工具在代码量和类型上的对比: -| | 代码类型 | 代码量/行 | 代码地址 | -| ------------------------------------------------------- | ------------------- | -------------------- | -------------------------------- | -| 应用程序 | 业务逻辑 | 83(.ts) | [源码](./comparison/application) | -| [Terraform](https://www.terraform.io/) | 基础设施配置 | 201(.tf) | [源码](./comparison/terraform) | -| [Pulumi](https://www.pulumi.com/) | 基础设施配置 | 157(.ts) | [源码](./comparison/pulumi) | -| [Pulumi Serverless](https://www.pulumi.com/serverless/) | 业务逻辑 + 配置 | 256(.ts) | [源码](./comparison/pulumi-app) | -| [Winglang - TS](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 100(.ts) | [源码](./comparison/wing-ts) | -| [Winglang - Wing](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 71(.w) + 47(.ts) | [源码](./comparison/wing-wing) | -| [Lepton](https://www.lepton.ai/) | 业务逻辑 + 配置 | 116(.py) | [源码](./comparison/lepton) | -| [Serverless](https://github.com/serverless/serverless) | 业务逻辑 + 配置 | 79(.ts) + 120(.yaml) | [源码](./comparison/serverless) | -| **Pluto** | **业务逻辑 + 配置** | **100(.ts)** | [源码](./src) | - -通过对比表格数据可以看到,Pluto 与纯业务逻辑代码相比,增加了 17 行代码,包含了云资源创建与权限配置相关代码。如果采用 Pulumi 或 Terraform 等 IaC 工具进行基础设施配置,业务逻辑加基础设施配置的整体代码量均在 Pluto 代码量的两倍以上。与 Pulumi 的 Serverless 功能、Winglang、Lepton、Serverless 等简化云使用的工具相比,Pluto 对云、AI 背景知识的要求更低,所需代码量也更少。 +| | 代码类型 | 代码量/行 | 代码地址 | +| --------------------------------------------------------- | ------------------- | -------------------- | ---------------------------------------------------- | +| 应用程序 - TypeScript | 业务逻辑 | 83(.ts) | [源码](./comparison/application) | +| [Terraform](https://www.terraform.io/) | 基础设施配置 | 201(.tf) | [源码](./comparison/terraform) | +| [Pulumi](https://www.pulumi.com/) | 基础设施配置 | 157(.ts) | [源码](./comparison/pulumi) | +| [Pulumi Serverless](https://www.pulumi.com/serverless/) | 业务逻辑 + 配置 | 256(.ts) | [源码](./comparison/pulumi-app) | +| [Winglang - TypeScript](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 100(.ts) | [源码](./comparison/wing-ts) | +| [Winglang - Wing](https://github.com/winglang/wing) | 业务逻辑 + 配置 | 71(.w) + 47(.ts) | [源码](./comparison/wing-wing) | +| [Serverless](https://github.com/serverless/serverless) | 业务逻辑 + 配置 | 79(.ts) + 120(.yaml) | [源码](./comparison/serverless) | +| **Pluto - TypeScript** | **业务逻辑 + 配置** | **100(.ts) ** | [源码](./src) | +| 应用程序 - Python | 业务逻辑 | 60(.py) | [源码](./comparison/application-python) | +| [Lepton](https://www.lepton.ai/) | 业务逻辑 + 配置 | 116(.py) | [源码](./comparison/lepton) | +| **Pluto - Python** | **业务逻辑 + 配置** | **74(.py) ** | [源码](../langchain-llama2-chatbot-sagemaker-python) | + +通过对比表格数据可以看到,TypeScript 版本与 Python 版本的 Pluto 应用与纯业务逻辑代码相比,增加了 17 行、14 行代码,包含了云资源创建与权限配置相关代码。如果采用 Pulumi 或 Terraform 等 IaC 工具进行基础设施配置,业务逻辑加基础设施配置的整体代码量均在 Pluto 代码量的两倍以上。与 Pulumi 的 Serverless 功能、Winglang、Lepton、Serverless 等简化云使用的工具相比,Pluto 对云、AI 背景知识的要求更低,所需代码量也更少。 我们在使用其他工具构建的过程中,遇到了许多问题,导致这些代码最终并没有部署成功,例如,Winglang 没有提供 SageMaker Model、EndpointConfig 资源类型,Pulumi 运行时报错,繁琐的资源项配置等,如果你有兴趣欢迎进行修复。 @@ -58,7 +60,7 @@ pluto deploy ``` -这个过程需要耐心等待一会,因为 SageMaker 部署模型需要一定时间。一旦部署完成,控制台会显示出 ApiGateway 的 URL,你可以通过浏览器或 curl 命令来访问它。以下是一个简单的测试命令: +**这个过程需要耐心等待一会,因为 SageMaker 部署模型需要一定时间。** 一旦部署完成,控制台会显示出 ApiGateway 的 URL,你可以通过浏览器或 curl 命令来访问它。以下是一个简单的测试命令: ```bash CHATBOT_API_URL=你的 ApiGateway URL diff --git a/examples/langchain-llama2-chatbot-sagemaker/comparison/application-python/main.py b/examples/langchain-llama2-chatbot-sagemaker/comparison/application-python/main.py new file mode 100644 index 00000000..8a008ea3 --- /dev/null +++ b/examples/langchain-llama2-chatbot-sagemaker/comparison/application-python/main.py @@ -0,0 +1,85 @@ +import os +import json +from typing import Dict + +from langchain.prompts import PromptTemplate +from langchain.memory.buffer import ConversationBufferMemory +from langchain.chains.conversation.base import ConversationChain +from langchain_community.chat_message_histories.dynamodb import ( + DynamoDBChatMessageHistory, +) +from langchain_community.llms.sagemaker_endpoint import ( + SagemakerEndpoint, + LLMContentHandler, +) + +ENDPOINT_NAME = "llama2" +TABLE_NAME = "conversations" +PARTITION_KEY = "Id" + + +class ContentHandler(LLMContentHandler): + content_type = "application/json" + accepts = "application/json" + + def transform_input(self, prompt: str, model_kwargs: Dict) -> bytes: + input_str = json.dumps({"inputs": prompt, "parameters": model_kwargs}) + return input_str.encode("utf-8") + + def transform_output(self, output: bytes) -> str: + response_json = json.loads(output.decode("utf-8")) + return response_json[0]["generated_text"] + + +def get_aws_region() -> str: + aws_region = os.environ.get("AWS_REGION") + if aws_region is None: + raise ValueError("AWS_REGION environment variable must be set") + return aws_region + + +llm = SagemakerEndpoint( + endpoint_name=ENDPOINT_NAME, + region_name=get_aws_region(), + content_handler=ContentHandler(), +) + + +def handler(event): + query = event.query["query"] + sessionid = event.query["sessionid"] + if isinstance(sessionid, list): + sessionid = sessionid[0] + + memory = ConversationBufferMemory( + chat_memory=DynamoDBChatMessageHistory( + table_name=TABLE_NAME, + session_id=sessionid, + primary_key_name=PARTITION_KEY, + ) + ) + + promptTemplate = PromptTemplate.from_template( + """<|system|> +You are a cool and aloof robot, answering questions very briefly and directly. + +Context: +{history} +<|user|> +{query} +<|assistant|>""" + ) + + chain = ConversationChain( + llm=llm, + memory=memory, + prompt=promptTemplate, + ) + + result = chain.invoke({"query": query}) + print(result) + + return { + "statusCode": 200, + "body": json.dumps(result["generated_text"]), + } diff --git a/examples/langchain-llama2-chatbot-sagemaker/src/index.ts b/examples/langchain-llama2-chatbot-sagemaker/src/index.ts index 1f882868..2f05aa7f 100644 --- a/examples/langchain-llama2-chatbot-sagemaker/src/index.ts +++ b/examples/langchain-llama2-chatbot-sagemaker/src/index.ts @@ -10,8 +10,8 @@ import { DynamoDBChatMessageHistory } from "@langchain/community/stores/message/ /** * Deploy the Llama2 model on AWS SageMaker using the Hugging Face Text Generation Inference (TGI) - * container. Here will deploy the TinyLlama-1.1B-Chat-v1.0 model, which can be run on the - * ml.m5.xlarge instance. + * container. If you're unable to deploy the model because of the instance type, consider using the + * TinyLlama-1.1B-Chat-v1.0 model, which is compatible with the ml.m5.xlarge instance. * * Below is a set up minimum requirements for each model size of Llama2 model: * ``` @@ -32,7 +32,6 @@ const sagemaker = new SageMaker( instanceType: "ml.g5.2xlarge", envs: { HF_MODEL_ID: "meta-llama/Llama-2-7b-chat-hf", - // HF_MODEL_ID: "TinyLlama/TinyLlama-1.1B-Chat-v1.0", HF_TASK: "text-generation", // If you want to deploy the Meta Llama2 model, you need to request a permission and prepare the // token. You can get the token from https://huggingface.co/settings/tokens diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7b0ad95..db9fe100 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -389,17 +389,7 @@ importers: specifier: ^5.2.2 version: 5.2.2 - examples/langchain-llama2-sagemaker: - dependencies: - '@langchain/community': - specifier: ^0.0.33 - version: 0.0.33 - '@plutolang/pluto': - specifier: latest - version: link:../../packages/pluto - langchain: - specifier: ^0.1.23 - version: 0.1.23 + examples/langchain-llama2-chatbot-sagemaker-python: devDependencies: '@plutolang/base': specifier: latest @@ -417,7 +407,17 @@ importers: specifier: ^5.2.2 version: 5.2.2 - examples/langchain-py: + examples/langchain-llama2-sagemaker: + dependencies: + '@langchain/community': + specifier: ^0.0.33 + version: 0.0.33 + '@plutolang/pluto': + specifier: latest + version: link:../../packages/pluto + langchain: + specifier: ^0.1.23 + version: 0.1.23 devDependencies: '@plutolang/base': specifier: latest

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 z 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 z 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℘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℞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