From 595a25375c4e11feb7b5b6b1f47a761972109fb6 Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 5 Feb 2026 11:58:56 +0000 Subject: [PATCH 01/10] CCM-13399 Allocated letters queue --- .../terraform/components/api/README.md | 1 + .../api/module_sqs_allocated_letters.tf | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 infrastructure/terraform/components/api/module_sqs_allocated_letters.tf diff --git a/infrastructure/terraform/components/api/README.md b/infrastructure/terraform/components/api/README.md index 01fe4c4be..be22fc98a 100644 --- a/infrastructure/terraform/components/api/README.md +++ b/infrastructure/terraform/components/api/README.md @@ -60,6 +60,7 @@ No requirements. | [post\_letters](#module\_post\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [post\_mi](#module\_post\_mi) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [s3bucket\_test\_letters](#module\_s3bucket\_test\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a | +| [sqs\_allocated\_letters](#module\_sqs\_allocated\_letters) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-sqs.zip | n/a | | [sqs\_letter\_updates](#module\_sqs\_letter\_updates) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-sqs.zip | n/a | | [supplier\_ssl](#module\_supplier\_ssl) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-ssl.zip | n/a | | [upsert\_letter](#module\_upsert\_letter) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | diff --git a/infrastructure/terraform/components/api/module_sqs_allocated_letters.tf b/infrastructure/terraform/components/api/module_sqs_allocated_letters.tf new file mode 100644 index 000000000..24a0df9ac --- /dev/null +++ b/infrastructure/terraform/components/api/module_sqs_allocated_letters.tf @@ -0,0 +1,16 @@ +module "sqs_allocated_letters" { + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-sqs.zip" + + aws_account_id = var.aws_account_id + component = var.component + environment = var.environment + project = var.project + region = var.region + name = "allocated-letters" + + sqs_kms_key_arn = module.kms.key_arn + + visibility_timeout_seconds = 60 + + create_dlq = true +} From 2a0614454d84fc65dc039e3ac6a6c7e6b54588bf Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 5 Feb 2026 08:40:17 +0000 Subject: [PATCH 02/10] CVE-2026-25547 --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 4b2a1acd9..ca21d8c3f 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "overrides": { "axios": "^1.13.5", "fast-xml-parser": "^5.3.4", + "@isaacs/brace-expansion": "^5.0.1", "pretty-format": { "react-is": "19.0.0" }, From 0b71f67f1d69b827223d677028eb5286dabd40f1 Mon Sep 17 00:00:00 2001 From: David Wass Date: Thu, 5 Feb 2026 15:00:54 +0000 Subject: [PATCH 03/10] create allocate lambda --- .../terraform/components/api/README.md | 1 + .../api/module_lambda_allocate_letter.tf | 85 +++ lambdas/allocate-letter/.eslintignore | 1 + lambdas/allocate-letter/.gitignore | 4 + lambdas/allocate-letter/jest.config.ts | 66 +++ lambdas/allocate-letter/package.json | 34 ++ .../src/config/__tests__/deps.test.ts | 53 ++ .../src/config/__tests__/env.test.ts | 48 ++ lambdas/allocate-letter/src/config/deps.ts | 42 ++ lambdas/allocate-letter/src/config/env.ts | 23 + .../__tests__/allocate-handler.test.ts | 489 ++++++++++++++++++ .../src/handler/allocate-handler.ts | 118 +++++ lambdas/allocate-letter/src/index.ts | 7 + lambdas/allocate-letter/tsconfig.json | 13 + .../src/handler/upsert-handler.ts | 82 +-- 15 files changed, 1012 insertions(+), 54 deletions(-) create mode 100644 infrastructure/terraform/components/api/module_lambda_allocate_letter.tf create mode 100644 lambdas/allocate-letter/.eslintignore create mode 100644 lambdas/allocate-letter/.gitignore create mode 100644 lambdas/allocate-letter/jest.config.ts create mode 100644 lambdas/allocate-letter/package.json create mode 100644 lambdas/allocate-letter/src/config/__tests__/deps.test.ts create mode 100644 lambdas/allocate-letter/src/config/__tests__/env.test.ts create mode 100644 lambdas/allocate-letter/src/config/deps.ts create mode 100644 lambdas/allocate-letter/src/config/env.ts create mode 100644 lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts create mode 100644 lambdas/allocate-letter/src/handler/allocate-handler.ts create mode 100644 lambdas/allocate-letter/src/index.ts create mode 100644 lambdas/allocate-letter/tsconfig.json diff --git a/infrastructure/terraform/components/api/README.md b/infrastructure/terraform/components/api/README.md index be22fc98a..f9450488e 100644 --- a/infrastructure/terraform/components/api/README.md +++ b/infrastructure/terraform/components/api/README.md @@ -42,6 +42,7 @@ No requirements. | Name | Source | Version | |------|--------|---------| +| [allocate\_letter](#module\_allocate\_letter) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [authorizer\_lambda](#module\_authorizer\_lambda) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip | n/a | | [domain\_truststore](#module\_domain\_truststore) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-s3bucket.zip | n/a | | [eventpub](#module\_eventpub) | https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.26/terraform-eventpub.zip | n/a | diff --git a/infrastructure/terraform/components/api/module_lambda_allocate_letter.tf b/infrastructure/terraform/components/api/module_lambda_allocate_letter.tf new file mode 100644 index 000000000..dfd2a51aa --- /dev/null +++ b/infrastructure/terraform/components/api/module_lambda_allocate_letter.tf @@ -0,0 +1,85 @@ +module "allocate_letter" { + source = "https://github.com/NHSDigital/nhs-notify-shared-modules/releases/download/v2.0.29/terraform-lambda.zip" + + function_name = "allocate_letter" + description = "Allocate a letter to a supplier" + + aws_account_id = var.aws_account_id + component = var.component + environment = var.environment + project = var.project + region = var.region + group = var.group + + log_retention_in_days = var.log_retention_in_days + kms_key_arn = module.kms.key_arn + + iam_policy_document = { + body = data.aws_iam_policy_document.allocate_letter_lambda.json + } + + function_s3_bucket = local.acct.s3_buckets["lambda_function_artefacts"]["id"] + function_code_base_path = local.aws_lambda_functions_dir_path + function_code_dir = "allocate-letter/dist" + function_include_common = true + handler_function_name = "allocateLetterHandler" + runtime = "nodejs22.x" + memory = 512 + timeout = 29 + log_level = var.log_level + + force_lambda_code_deploy = var.force_lambda_code_deploy + enable_lambda_insights = false + + log_destination_arn = local.destination_arn + log_subscription_role_arn = local.acct.log_subscription_role_arn + + lambda_env_vars = merge(local.common_lambda_env_vars, { + VARIANT_MAP = jsonencode(var.letter_variant_map) + ALLOCATED_LETTERS_QUEUE_URL = module.sqs_allocated_letters.sqs_queue_url + }) +} + +data "aws_iam_policy_document" "allocate_letter_lambda" { + statement { + sid = "KMSPermissions" + effect = "Allow" + + actions = [ + "kms:Decrypt", + "kms:GenerateDataKey", + ] + + resources = [ + module.kms.key_arn, + ] + } + + statement { + sid = "AllowSQSRead" + effect = "Allow" + + actions = [ + "sqs:ReceiveMessage", + "sqs:DeleteMessage", + "sqs:GetQueueAttributes" + ] + + resources = [ + module.sqs_letter_updates.sqs_queue_arn + ] + } + + statement { + sid = "AllowSQSWrite" + effect = "Allow" + + actions = [ + "sqs:SendMessage" + ] + + resources = [ + module.sqs_allocated_letters.sqs_queue_arn + ] + } +} diff --git a/lambdas/allocate-letter/.eslintignore b/lambdas/allocate-letter/.eslintignore new file mode 100644 index 000000000..1521c8b76 --- /dev/null +++ b/lambdas/allocate-letter/.eslintignore @@ -0,0 +1 @@ +dist diff --git a/lambdas/allocate-letter/.gitignore b/lambdas/allocate-letter/.gitignore new file mode 100644 index 000000000..80323f7cf --- /dev/null +++ b/lambdas/allocate-letter/.gitignore @@ -0,0 +1,4 @@ +coverage +node_modules +dist +.reports diff --git a/lambdas/allocate-letter/jest.config.ts b/lambdas/allocate-letter/jest.config.ts new file mode 100644 index 000000000..872794514 --- /dev/null +++ b/lambdas/allocate-letter/jest.config.ts @@ -0,0 +1,66 @@ +export const baseJestConfig = { + preset: "ts-jest", + extensionsToTreatAsEsm: [".ts"], + transform: { + "^.+\\.ts$": [ + "ts-jest", + { + useESM: true, + }, + ], + }, + + // Automatically clear mock calls, instances, contexts and results before every test + clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + collectCoverage: true, + + // The directory where Jest should output its coverage files + coverageDirectory: "./.reports/unit/coverage", + + // Indicates which provider should be used to instrument code for coverage + coverageProvider: "babel", + + coverageThreshold: { + global: { + branches: 100, + functions: 100, + lines: 100, + statements: -10, + }, + }, + + coveragePathIgnorePatterns: ["/__tests__/"], + testPathIgnorePatterns: [".build"], + testMatch: ["**/?(*.)+(spec|test).[jt]s?(x)"], + + // Use this configuration option to add custom reporters to Jest + reporters: [ + "default", + [ + "jest-html-reporter", + { + pageTitle: "Test Report", + outputPath: "./.reports/unit/test-report.html", + includeFailureMsg: true, + }, + ], + ], + + // The test environment that will be used for testing + testEnvironment: "jsdom", +}; + +const utilsJestConfig = { + ...baseJestConfig, + + testEnvironment: "node", + + coveragePathIgnorePatterns: [ + ...(baseJestConfig.coveragePathIgnorePatterns ?? []), + "zod-validators.ts", + ], +}; + +export default utilsJestConfig; diff --git a/lambdas/allocate-letter/package.json b/lambdas/allocate-letter/package.json new file mode 100644 index 000000000..dc9daa2c7 --- /dev/null +++ b/lambdas/allocate-letter/package.json @@ -0,0 +1,34 @@ +{ + "dependencies": { + "@aws-sdk/client-dynamodb": "^3.858.0", + "@aws-sdk/lib-dynamodb": "^3.858.0", + "@internal/datastore": "*", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1": "npm:@nhsdigital/nhs-notify-event-schemas-letter-rendering@^1.1.5", + "@nhsdigital/nhs-notify-event-schemas-supplier-api": "^1.0.8", + "@types/aws-lambda": "^8.10.148", + "aws-lambda": "^1.0.7", + "esbuild": "^0.27.2", + "pino": "^9.7.0", + "zod": "^4.1.11" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.8.3" + }, + "name": "nhs-notify-supplier-api-allocate-letter", + "private": true, + "scripts": { + "lambda-build": "rm -rf dist && npx esbuild --bundle --minify --sourcemap --target=es2020 --platform=node --loader:.node=file --entry-names=[name] --outdir=dist src/index.ts", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "test:unit": "jest", + "typecheck": "tsc --noEmit" + }, + "version": "0.0.1" +} diff --git a/lambdas/allocate-letter/src/config/__tests__/deps.test.ts b/lambdas/allocate-letter/src/config/__tests__/deps.test.ts new file mode 100644 index 000000000..e470ea969 --- /dev/null +++ b/lambdas/allocate-letter/src/config/__tests__/deps.test.ts @@ -0,0 +1,53 @@ +import type { Deps } from "lambdas/allocate-letter/src/config/deps"; + +describe("createDependenciesContainer", () => { + const env = { + LETTERS_TABLE_NAME: "LettersTable", + LETTER_TTL_HOURS: 12_960, + }; + + beforeEach(() => { + jest.clearAllMocks(); + jest.resetModules(); + + // pino + jest.mock("pino", () => ({ + __esModule: true, + default: jest.fn(() => ({ + info: jest.fn(), + error: jest.fn(), + warn: jest.fn(), + debug: jest.fn(), + })), + })); + + // Repo client + jest.mock("@internal/datastore", () => ({ + LetterRepository: jest.fn(), + })); + + // Env + jest.mock("../env", () => ({ envVars: env })); + }); + + test("constructs deps and wires repository config correctly", async () => { + // get current mock instances + const pinoMock = jest.requireMock("pino"); + const { LetterRepository } = jest.requireMock("@internal/datastore"); + + // eslint-disable-next-line @typescript-eslint/no-require-imports + const { createDependenciesContainer } = require("../deps"); + const deps: Deps = createDependenciesContainer(); + + expect(pinoMock.default).toHaveBeenCalledTimes(1); + + expect(LetterRepository).toHaveBeenCalledTimes(1); + const letterRepoCtorArgs = LetterRepository.mock.calls[0]; + expect(letterRepoCtorArgs[2]).toEqual({ + lettersTableName: "LettersTable", + lettersTtlHours: 12_960, + }); + + expect(deps.env).toEqual(env); + }); +}); diff --git a/lambdas/allocate-letter/src/config/__tests__/env.test.ts b/lambdas/allocate-letter/src/config/__tests__/env.test.ts new file mode 100644 index 000000000..3c3de2309 --- /dev/null +++ b/lambdas/allocate-letter/src/config/__tests__/env.test.ts @@ -0,0 +1,48 @@ +import { ZodError } from "zod"; +/* eslint-disable @typescript-eslint/no-require-imports */ +/* Allow require imports to enable re-import of modules */ + +describe("lambdaEnv", () => { + const OLD_ENV = process.env; + + beforeEach(() => { + jest.resetModules(); // Clears cached modules + process.env = { ...OLD_ENV }; // Clone original env + }); + + afterAll(() => { + process.env = OLD_ENV; // Restore + }); + + it("should load all environment variables successfully", () => { + process.env.LETTERS_TABLE_NAME = "letters-table"; + process.env.LETTER_TTL_HOURS = "12960"; + process.env.VARIANT_MAP = `{ + "lv1": { + "supplierId": "supplier1", + "specId": "spec1" + } + }`; + + const { envVars } = require("../env"); + + expect(envVars).toEqual({ + LETTERS_TABLE_NAME: "letters-table", + LETTER_TTL_HOURS: 12_960, + VARIANT_MAP: { + lv1: { + supplierId: "supplier1", + specId: "spec1", + }, + }, + }); + }); + + it("should throw if a required env var is missing", () => { + process.env.LETTERS_TABLE_NAME = "table"; + process.env.LETTER_TTL_HOURS = "12960"; + process.env.VARIANT_MAP = undefined; + + expect(() => require("../env")).toThrow(ZodError); + }); +}); diff --git a/lambdas/allocate-letter/src/config/deps.ts b/lambdas/allocate-letter/src/config/deps.ts new file mode 100644 index 000000000..de019252e --- /dev/null +++ b/lambdas/allocate-letter/src/config/deps.ts @@ -0,0 +1,42 @@ +import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; +import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb"; +import { SQSClient } from "@aws-sdk/client-sqs"; +import pino from "pino"; +import { LetterRepository } from "@internal/datastore"; +import { EnvVars, envVars } from "./env"; + +export type Deps = { + letterRepo: LetterRepository; + logger: pino.Logger; + env: EnvVars; + sqsClient: SQSClient; +}; + +function createDocumentClient(): DynamoDBDocumentClient { + const ddbClient = new DynamoDBClient({}); + return DynamoDBDocumentClient.from(ddbClient); +} + +function createLetterRepository( + log: pino.Logger, + // eslint-disable-next-line @typescript-eslint/no-shadow + envVars: EnvVars, +): LetterRepository { + const config = { + lettersTableName: envVars.LETTERS_TABLE_NAME, + lettersTtlHours: envVars.LETTER_TTL_HOURS, + }; + + return new LetterRepository(createDocumentClient(), log, config); +} + +export function createDependenciesContainer(): Deps { + const log = pino(); + + return { + letterRepo: createLetterRepository(log, envVars), + logger: log, + env: envVars, + sqsClient: new SQSClient({}), + }; +} diff --git a/lambdas/allocate-letter/src/config/env.ts b/lambdas/allocate-letter/src/config/env.ts new file mode 100644 index 000000000..ef527258f --- /dev/null +++ b/lambdas/allocate-letter/src/config/env.ts @@ -0,0 +1,23 @@ +import { z } from "zod"; + +const LetterVariantSchema = z.record( + z.string(), + z.object({ + supplierId: z.string(), + specId: z.string(), + }), +); +export type LetterVariant = z.infer; + +const EnvVarsSchema = z.object({ + LETTERS_TABLE_NAME: z.string(), + LETTER_TTL_HOURS: z.coerce.number().int(), + VARIANT_MAP: z.string().transform((str, _) => { + const parsed = JSON.parse(str); + return LetterVariantSchema.parse(parsed); + }), +}); + +export type EnvVars = z.infer; + +export const envVars = EnvVarsSchema.parse(process.env); diff --git a/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts b/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts new file mode 100644 index 000000000..4284794aa --- /dev/null +++ b/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts @@ -0,0 +1,489 @@ +import { SNSMessage, SQSEvent, SQSRecord } from "aws-lambda"; +import pino from "pino"; +import { LetterRepository } from "internal/datastore/src"; +import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; +import { LetterRequestPreparedEvent } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1"; +import { + $LetterEvent, + LetterEvent, +} from "@nhsdigital/nhs-notify-event-schemas-supplier-api/src/events/letter-events"; +import createUpsertLetterHandler from "../allocate-handler"; +import { Deps } from "../../config/deps"; +import { EnvVars } from "../../config/env"; + +function createSQSEvent(records: SQSRecord[]): SQSEvent { + return { + Records: records, + }; +} + +function createSqsRecord(msgId: string, body: string): SQSRecord { + return { + messageId: msgId, + receiptHandle: "", + body, + attributes: { + ApproximateReceiveCount: "", + SentTimestamp: "", + SenderId: "", + ApproximateFirstReceiveTimestamp: "", + }, + messageAttributes: {}, + md5OfBody: "", + eventSource: "", + eventSourceARN: "", + awsRegion: "", + }; +} + +type SupportedEvent = + | LetterRequestPreparedEventV2 + | LetterRequestPreparedEvent + | LetterEvent; + +function createEventBridgeNotification( + event: SupportedEvent, +): Partial { + return { + SignatureVersion: "", + Timestamp: "", + Signature: "", + SigningCertUrl: "", + MessageId: "", + Message: createEventBridgeEvent(event), + MessageAttributes: {}, + Type: "Notification", + UnsubscribeUrl: "", + TopicArn: "", + Subject: "", + Token: "", + }; +} + +function createNotification(event: SupportedEvent): Partial { + return { + SignatureVersion: "", + Timestamp: "", + Signature: "", + SigningCertUrl: "", + MessageId: "", + Message: JSON.stringify(event), + MessageAttributes: {}, + Type: "Notification", + UnsubscribeUrl: "", + TopicArn: "", + Subject: "", + Token: "", + }; +} + +function createEventBridgeEvent(event: SupportedEvent): string { + const now = new Date().toISOString(); + const eventBridgeEnvelope = { + version: "0", + id: "4f28e649-6832-18e8-7261-4b63e6dcd3b5", + "detail-type": event.type, + source: "custom.event", + account: "815490582396", + time: now, + region: "eu-west-2", + resources: [], + detail: event, + }; + return JSON.stringify(eventBridgeEnvelope); +} + +function createPreparedV1Event( + overrides: Partial = {}, +): LetterRequestPreparedEvent { + const now = new Date().toISOString(); + + return { + specversion: "1.0", + id: overrides.id ?? "7b9a03ca-342a-4150-b56b-989109c45613", + source: "/data-plane/letter-rendering/test", + subject: "client/client1/letter-request/letterRequest1", + type: "uk.nhs.notify.letter-rendering.letter-request.prepared.v1", + time: now, + dataschema: + "https://notify.nhs.uk/cloudevents/schemas/letter-rendering/letter-request.prepared.1.0.0.schema.json", + dataschemaversion: "1.0.0", + data: { + domainId: overrides.domainId ?? "letter1", + letterVariantId: "lv1", + requestId: "request1", + requestItemId: "requestItem1", + requestItemPlanId: "requestItemPlan1", + clientId: "client1", + campaignId: "campaign1", + templateId: "template1", + url: overrides.url ?? "s3://letterDataBucket/letter1.pdf", + sha256Hash: + "3a7bd3e2360a3d29eea436fcfb7e44c735d117c8f2f1d2d1e4f6e8f7e6e8f7e6", + createdAt: now, + pageCount: 1, + status: "PREPARED", + }, + traceparent: "00-0af7651916cd43dd8448eb211c803191-b7ad6b7169203331-01", + recordedtime: now, + severitynumber: 2, + severitytext: "INFO", + plane: "data", + }; +} + +function createPreparedV2Event( + overrides: Partial = {}, +): LetterRequestPreparedEventV2 { + return { + ...createPreparedV1Event(overrides), + type: "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + dataschema: + "https://notify.nhs.uk/cloudevents/schemas/letter-rendering/letter-request.prepared.2.0.1.schema.json", + dataschemaversion: "2.0.1", + }; +} + +function createSupplierStatusChangeEvent( + overrides: Partial = {}, +): LetterEvent { + const now = new Date().toISOString(); + + return $LetterEvent.parse({ + data: { + domainId: overrides.domainId ?? "f47ac10b-58cc-4372-a567-0e02b2c3d479", + groupId: "client_template", + origin: { + domain: "letter-rendering", + event: "f47ac10b-58cc-4372-a567-0e02b2c3d479", + source: "/data-plane/letter-rendering/prod/render-pdf", + subject: + "client/00f3b388-bbe9-41c9-9e76-052d37ee8988/letter-request/0o5Fs0EELR0fUjHjbCnEtdUwQe4_0o5Fs0EELR0fUjHjbCnEtdUwQe5", + }, + reasonCode: "R07", + reasonText: "No such address", + specificationId: "1y3q9v1zzzz", + billingRef: "1y3q9v1zzzz", + status: "RETURNED", + supplierId: "supplier1", + }, + datacontenttype: "application/json", + dataschema: + "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.RETURNED.1.0.0.schema.json", + dataschemaversion: "1.0.0", + id: overrides.id ?? "23f1f09c-a555-4d9b-8405-0b33490bc920", + plane: "data", + recordedtime: now, + severitynumber: 2, + severitytext: "INFO", + source: "/data-plane/supplier-api/prod/update-status", + specversion: "1.0", + subject: + "letter-origin/letter-rendering/letter/f47ac10b-58cc-4372-a567-0e02b2c3d479", + time: now, + traceparent: "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01", + type: "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + }); +} + +describe("createUpsertLetterHandler", () => { + const mockedDeps: jest.Mocked = { + letterRepo: { + putLetter: jest.fn(), + updateLetterStatus: jest.fn(), + } as unknown as LetterRepository, + logger: { error: jest.fn(), info: jest.fn() } as unknown as pino.Logger, + env: { + LETTERS_TABLE_NAME: "LETTERS_TABLE_NAME", + LETTER_TTL_HOURS: 12_960, + VARIANT_MAP: { + lv1: { + supplierId: "supplier1", + specId: "spec1", + }, + }, + } as EnvVars, + } as Deps; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("processes all records successfully and returns no batch failures", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "msg1", + JSON.stringify(createEventBridgeNotification(createPreparedV2Event())), + ), + createSqsRecord( + "msg2", + JSON.stringify(createNotification(createSupplierStatusChangeEvent())), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(0); + + expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(1); + expect(mockedDeps.letterRepo.updateLetterStatus).toHaveBeenCalledTimes(1); + + const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock + .calls[0][0]; + expect(firstArg.id).toBe("letter1"); + expect(firstArg.supplierId).toBe("supplier1"); + expect(firstArg.specificationId).toBe("spec1"); + expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); + expect(firstArg.status).toBe("PENDING"); + expect(firstArg.groupId).toBe("client1campaign1template1"); + expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); + + const secondArg = (mockedDeps.letterRepo.updateLetterStatus as jest.Mock) + .mock.calls[0][0]; + expect(secondArg.id).toBe("f47ac10b-58cc-4372-a567-0e02b2c3d479"); + expect(secondArg.supplierId).toBe("supplier1"); + expect(secondArg.status).toBe("RETURNED"); + expect(secondArg.reasonCode).toBe("R07"); + expect(secondArg.reasonText).toBe("No such address"); + }); + + test("processes all v1 records successfully and returns no batch failures", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "msg1", + JSON.stringify(createNotification(createPreparedV1Event())), + ), + createSqsRecord( + "msg2", + JSON.stringify( + createNotification( + createPreparedV1Event({ + id: "7b9a03ca-342a-4150-b56b-989109c45614", + domainId: "letter2", + url: "s3://letterDataBucket/letter2.pdf", + }), + ), + ), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(0); + + expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(2); + + const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock + .calls[0][0]; + expect(firstArg.id).toBe("letter1"); + expect(firstArg.supplierId).toBe("supplier1"); + expect(firstArg.specificationId).toBe("spec1"); + expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); + expect(firstArg.status).toBe("PENDING"); + expect(firstArg.groupId).toBe("client1campaign1template1"); + expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); + + const secondArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock + .calls[1][0]; + expect(secondArg.id).toBe("letter2"); + expect(secondArg.supplierId).toBe("supplier1"); + expect(secondArg.specificationId).toBe("spec1"); + expect(secondArg.url).toBe("s3://letterDataBucket/letter2.pdf"); + expect(secondArg.status).toBe("PENDING"); + expect(secondArg.groupId).toBe("client1campaign1template1"); + expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); + }); + + test("invalid JSON body produces batch failure and logs error", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("bad-json", "this-is-not-json"), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-json"); + + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( + "Error processing upsert of record bad-json", + ); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + }); + + test("invalid notification schema produces batch failure and logs error", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "bad-notification-schema", + JSON.stringify({ not: "unexpected notification shape" }), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe( + "bad-notification-schema", + ); + + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( + "Error processing upsert of record bad-notification-schema", + ); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + }); + + test("no event type produces batch failure and logs error", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "bad-event-type", + JSON.stringify({ + Type: "Notification", + Message: JSON.stringify({ no: "type" }), + }), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-type"); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( + "Error processing upsert of record bad-event-type", + ); + }); + + test("invalid event type produces batch failure and logs error", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "bad-event-type", + JSON.stringify({ + Type: "Notification", + Message: JSON.stringify({ type: "unexpected type" }), + }), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-type"); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( + "Error processing upsert of record bad-event-type", + ); + }); + + test("valid event type and invalid schema produces batch failure and logs error", async () => { + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "bad-event-schema", + JSON.stringify({ + Type: "Notification", + Message: JSON.stringify({ + type: "uk.nhs.notify.letter-rendering.letter-request.prepared", + some: "unexpected shape", + }), + }), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-schema"); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( + "Error processing upsert of record bad-event-schema", + ); + }); + + test("repository throwing for one record causes that message to be returned in batch failures while others succeed", async () => { + (mockedDeps.letterRepo.putLetter as jest.Mock) + .mockResolvedValueOnce({}) + .mockRejectedValueOnce(new Error("ddb error")); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord( + "ok-msg", + JSON.stringify( + createNotification( + createPreparedV2Event({ + id: "7b9a03ca-342a-4150-b56b-989109c45615", + domainId: "ok", + }), + ), + ), + ), + createSqsRecord( + "fail-msg", + JSON.stringify( + createNotification( + createPreparedV2Event({ + id: "7b9a03ca-342a-4150-b56b-989109c45616", + domainId: "fail", + }), + ), + ), + ), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(2); + + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("fail-msg"); + + expect(mockedDeps.logger.error).toHaveBeenCalled(); + }); +}); diff --git a/lambdas/allocate-letter/src/handler/allocate-handler.ts b/lambdas/allocate-letter/src/handler/allocate-handler.ts new file mode 100644 index 000000000..d12860e75 --- /dev/null +++ b/lambdas/allocate-letter/src/handler/allocate-handler.ts @@ -0,0 +1,118 @@ +import { + SNSMessage, + SQSBatchItemFailure, + SQSEvent, + SQSHandler, + SQSRecord, +} from "aws-lambda"; +import { SendMessageCommand } from "@aws-sdk/client-sqs"; +import { LetterRequestPreparedEvent } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1"; + +import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; +import z from "zod"; +import { Deps } from "../config/deps"; + +type SupplierSpec = { supplierId: string; specId: string }; +type PreparedEvents = LetterRequestPreparedEventV2 | LetterRequestPreparedEvent; + +// small envelope that must exist in all inputs +const TypeEnvelope = z.object({ type: z.string().min(1) }); + +function resolveSupplierForVariant( + variantId: string, + deps: Deps, +): SupplierSpec { + return deps.env.VARIANT_MAP[variantId]; +} + +function parseSNSNotification(record: SQSRecord) { + const notification = JSON.parse(record.body) as Partial; + if ( + notification.Type !== "Notification" || + typeof notification.Message !== "string" + ) { + throw new Error( + "SQS record does not contain SNS Notification with string Message", + ); + } + return notification.Message; +} + +function removeEventBridgeWrapper(event: any) { + const maybeEventBridge = event; + if (maybeEventBridge.source && maybeEventBridge.detail) { + return maybeEventBridge.detail; + } + return event; +} + +function getType(event: unknown) { + const env = TypeEnvelope.safeParse(event); + if (!env.success) { + throw new Error("Missing or invalid envelope.type field"); + } + return env.data.type; +} + +function getSupplier(letterEvent: PreparedEvents, deps: Deps): SupplierSpec { + return resolveSupplierForVariant(letterEvent.data.letterVariantId, deps); +} + +function isInsert(type: string): boolean { + return ( + type === "uk.nhs.notify.letter-rendering.letter-request.prepared.v2" || + type === "uk.nhs.notify.letter-rendering.letter-request.prepared" // legacy schema + ); +} + +export default function createAllocatedLetterHandler(deps: Deps): SQSHandler { + return async (event: SQSEvent) => { + const batchItemFailures: SQSBatchItemFailure[] = []; + + const tasks = event.Records.map(async (record) => { + try { + const message: string = parseSNSNotification(record); + + const snsEvent = JSON.parse(message); + + const letterEvent: unknown = removeEventBridgeWrapper(snsEvent); + + const operationType = getType(letterEvent); + + let supplierSpec: SupplierSpec | undefined; + if (isInsert(operationType)) { + supplierSpec = getSupplier(letterEvent as PreparedEvents, deps); + } + + // Send to allocated letters queue + const queueUrl = process.env.ALLOCATED_LETTERS_QUEUE_URL; + if (!queueUrl) { + throw new Error("ALLOCATED_LETTERS_QUEUE_URL not configured"); + } + + const queueMessage = { + letterEvent, + operationType, + ...(supplierSpec && { supplierSpec }), + }; + + await deps.sqsClient.send( + new SendMessageCommand({ + QueueUrl: queueUrl, + MessageBody: JSON.stringify(queueMessage), + }), + ); + } catch (error) { + deps.logger.error( + { err: error, message: record.body }, + `Error processing allocation of record ${record.messageId}`, + ); + batchItemFailures.push({ itemIdentifier: record.messageId }); + } + }); + + await Promise.all(tasks); + + return { batchItemFailures }; + }; +} diff --git a/lambdas/allocate-letter/src/index.ts b/lambdas/allocate-letter/src/index.ts new file mode 100644 index 000000000..d458cd5bc --- /dev/null +++ b/lambdas/allocate-letter/src/index.ts @@ -0,0 +1,7 @@ +import { createDependenciesContainer } from "./config/deps"; +import createAllocateLetterHandler from "./handler/allocate-handler"; + +const container = createDependenciesContainer(); + +// eslint-disable-next-line import-x/prefer-default-export +export const allocateLetterHandler = createAllocateLetterHandler(container); diff --git a/lambdas/allocate-letter/tsconfig.json b/lambdas/allocate-letter/tsconfig.json new file mode 100644 index 000000000..528c0c8b5 --- /dev/null +++ b/lambdas/allocate-letter/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "types": [ + "jest", + "node" + ] + }, + "extends": "../../tsconfig.base.json", + "include": [ + "src/**/*", + "jest.config.ts" + ] +} diff --git a/lambdas/upsert-letter/src/handler/upsert-handler.ts b/lambdas/upsert-letter/src/handler/upsert-handler.ts index 49232369b..febda3952 100644 --- a/lambdas/upsert-letter/src/handler/upsert-handler.ts +++ b/lambdas/upsert-letter/src/handler/upsert-handler.ts @@ -24,10 +24,19 @@ import { Deps } from "../config/deps"; type SupplierSpec = { supplierId: string; specId: string }; type PreparedEvents = LetterRequestPreparedEventV2 | LetterRequestPreparedEvent; +type AllocatedLetterQueueMessage = { + letterEvent: unknown; + operationType: string; + supplierSpec: SupplierSpec; +}; type UpsertOperation = { name: "Insert" | "Update"; schemas: z.ZodSchema[]; - handler: (request: unknown, deps: Deps) => Promise; + handler: ( + request: unknown, + supplierSpec: SupplierSpec, + deps: Deps, + ) => Promise; }; // small envelope that must exist in all inputs @@ -38,12 +47,8 @@ function getOperationFromType(type: string): UpsertOperation { return { name: "Insert", schemas: [$LetterRequestPreparedEventV2, $LetterRequestPreparedEvent], - handler: async (request, deps) => { + handler: async (request, supplierSpec, deps) => { const preparedRequest = request as PreparedEvents; - const supplierSpec: SupplierSpec = resolveSupplierForVariant( - preparedRequest.data.letterVariantId, - deps, - ); const letterToInsert: InsertLetter = mapToInsertLetter( preparedRequest, supplierSpec.supplierId, @@ -64,7 +69,7 @@ function getOperationFromType(type: string): UpsertOperation { return { name: "Update", schemas: [$LetterEvent], - handler: async (request, deps) => { + handler: async (request, supplierSpec, deps) => { const supplierEvent = request as LetterEvent; const letterToUpdate: UpdateLetter = mapToUpdateLetter(supplierEvent); await deps.letterRepo.updateLetterStatus(letterToUpdate); @@ -115,51 +120,16 @@ function mapToUpdateLetter(upsertRequest: LetterEvent): UpdateLetter { }; } -function resolveSupplierForVariant( - variantId: string, - deps: Deps, -): SupplierSpec { - return deps.env.VARIANT_MAP[variantId]; -} - -function parseSNSNotification(record: SQSRecord) { - const notification = JSON.parse(record.body) as Partial; - if ( - notification.Type !== "Notification" || - typeof notification.Message !== "string" - ) { - throw new Error( - "SQS record does not contain SNS Notification with string Message", - ); - } - return notification.Message; -} - -function removeEventBridgeWrapper(event: any) { - const maybeEventBridge = event; - if (maybeEventBridge.source && maybeEventBridge.detail) { - return maybeEventBridge.detail; - } - return event; -} - -function getType(event: unknown) { - const env = TypeEnvelope.safeParse(event); - if (!env.success) { - throw new Error("Missing or invalid envelope.type field"); - } - return env.data.type; -} - async function runUpsert( operation: UpsertOperation, letterEvent: unknown, + supplierSpec: SupplierSpec, deps: Deps, ) { for (const schema of operation.schemas) { const r = schema.safeParse(letterEvent); if (r.success) { - await operation.handler(r.data, deps); + await operation.handler(r.data, supplierSpec, deps); return; } } @@ -189,9 +159,9 @@ async function emitMetrics( } } -function getSupplierId(snsEvent: any): string { - if (snsEvent && snsEvent.data && snsEvent.data.supplierId) { - return snsEvent.data.supplierId; +function getSupplierEventId(letterEvent: any): string { + if (letterEvent && letterEvent.data && letterEvent.data.supplierId) { + return letterEvent.data.supplierId; } return "unknown"; } @@ -206,20 +176,24 @@ export default function createUpsertLetterHandler(deps: Deps): SQSHandler { const tasks = event.Records.map(async (record) => { let supplier = "unknown"; try { - const message: string = parseSNSNotification(record); - const snsEvent = JSON.parse(message); - supplier = getSupplierId(snsEvent); - const letterEvent: unknown = removeEventBridgeWrapper(snsEvent); + const queueMessage: AllocatedLetterQueueMessage = JSON.parse( + record.body, + ); + const { letterEvent, operationType, supplierSpec } = queueMessage; deps.logger.info({ description: "Extracted letter event", messageId: record.messageId, }); - const type = getType(letterEvent); - const operation = getOperationFromType(type); + supplier = + !supplierSpec || !supplierSpec.supplierId + ? getSupplierEventId(letterEvent) + : supplierSpec.supplierId; + + const operation = getOperationFromType(operationType); - await runUpsert(operation, letterEvent, deps); + await runUpsert(operation, letterEvent, supplierSpec, deps); perSupplierSuccess.set( supplier, From b1d5a7db2a8782d9e60729d08df41118b1237a65 Mon Sep 17 00:00:00 2001 From: David Wass Date: Fri, 6 Feb 2026 11:26:12 +0000 Subject: [PATCH 04/10] allocate lambda --- ...a_event_source_mapping_allocate_letters.tf | 9 + ...mbda_event_source_mapping_upsert_letter.tf | 2 +- .../api/module_lambda_upsert_letter.tf | 2 +- lambdas/allocate-letter/package.json | 1 + .../src/config/__tests__/deps.test.ts | 9 - lambdas/allocate-letter/src/config/deps.ts | 23 - .../__tests__/allocate-handler.test.ts | 597 +- .../src/handler/allocate-handler.ts | 10 +- .../src/config/__tests__/env.test.ts | 14 - lambdas/upsert-letter/src/config/env.ts | 9 - .../handler/__tests__/upsert-handler.test.ts | 229 +- .../src/handler/upsert-handler.ts | 11 +- package-lock.json | 29214 +++++++++------- 13 files changed, 17831 insertions(+), 12299 deletions(-) create mode 100644 infrastructure/terraform/components/api/lambda_event_source_mapping_allocate_letters.tf diff --git a/infrastructure/terraform/components/api/lambda_event_source_mapping_allocate_letters.tf b/infrastructure/terraform/components/api/lambda_event_source_mapping_allocate_letters.tf new file mode 100644 index 000000000..d2e087847 --- /dev/null +++ b/infrastructure/terraform/components/api/lambda_event_source_mapping_allocate_letters.tf @@ -0,0 +1,9 @@ +resource "aws_lambda_event_source_mapping" "allocate_letter" { + event_source_arn = module.sqs_letter_updates.sqs_queue_arn + function_name = module.allocate_letter.function_name + batch_size = 10 + maximum_batching_window_in_seconds = 5 + function_response_types = [ + "ReportBatchItemFailures" + ] +} diff --git a/infrastructure/terraform/components/api/lambda_event_source_mapping_upsert_letter.tf b/infrastructure/terraform/components/api/lambda_event_source_mapping_upsert_letter.tf index a592ea9ec..3b9b62d03 100644 --- a/infrastructure/terraform/components/api/lambda_event_source_mapping_upsert_letter.tf +++ b/infrastructure/terraform/components/api/lambda_event_source_mapping_upsert_letter.tf @@ -1,5 +1,5 @@ resource "aws_lambda_event_source_mapping" "upsert_letter" { - event_source_arn = module.sqs_letter_updates.sqs_queue_arn + event_source_arn = module.sqs_allocated_letters.sqs_queue_arn function_name = module.upsert_letter.function_name batch_size = 10 maximum_batching_window_in_seconds = 5 diff --git a/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf b/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf index 201e10186..8a27ccdd0 100644 --- a/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf +++ b/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf @@ -82,7 +82,7 @@ data "aws_iam_policy_document" "upsert_letter_lambda" { ] resources = [ - module.sqs_letter_updates.sqs_queue_arn + module.sqs_allocated_letters.sqs_queue_arn ] } } diff --git a/lambdas/allocate-letter/package.json b/lambdas/allocate-letter/package.json index dc9daa2c7..b1d97b223 100644 --- a/lambdas/allocate-letter/package.json +++ b/lambdas/allocate-letter/package.json @@ -1,6 +1,7 @@ { "dependencies": { "@aws-sdk/client-dynamodb": "^3.858.0", + "@aws-sdk/client-sqs": "^3.984.0", "@aws-sdk/lib-dynamodb": "^3.858.0", "@internal/datastore": "*", "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", diff --git a/lambdas/allocate-letter/src/config/__tests__/deps.test.ts b/lambdas/allocate-letter/src/config/__tests__/deps.test.ts index e470ea969..d37c0bf94 100644 --- a/lambdas/allocate-letter/src/config/__tests__/deps.test.ts +++ b/lambdas/allocate-letter/src/config/__tests__/deps.test.ts @@ -33,21 +33,12 @@ describe("createDependenciesContainer", () => { test("constructs deps and wires repository config correctly", async () => { // get current mock instances const pinoMock = jest.requireMock("pino"); - const { LetterRepository } = jest.requireMock("@internal/datastore"); // eslint-disable-next-line @typescript-eslint/no-require-imports const { createDependenciesContainer } = require("../deps"); const deps: Deps = createDependenciesContainer(); expect(pinoMock.default).toHaveBeenCalledTimes(1); - - expect(LetterRepository).toHaveBeenCalledTimes(1); - const letterRepoCtorArgs = LetterRepository.mock.calls[0]; - expect(letterRepoCtorArgs[2]).toEqual({ - lettersTableName: "LettersTable", - lettersTtlHours: 12_960, - }); - expect(deps.env).toEqual(env); }); }); diff --git a/lambdas/allocate-letter/src/config/deps.ts b/lambdas/allocate-letter/src/config/deps.ts index de019252e..1f63d2c7c 100644 --- a/lambdas/allocate-letter/src/config/deps.ts +++ b/lambdas/allocate-letter/src/config/deps.ts @@ -1,40 +1,17 @@ -import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; -import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb"; import { SQSClient } from "@aws-sdk/client-sqs"; import pino from "pino"; -import { LetterRepository } from "@internal/datastore"; import { EnvVars, envVars } from "./env"; export type Deps = { - letterRepo: LetterRepository; logger: pino.Logger; env: EnvVars; sqsClient: SQSClient; }; -function createDocumentClient(): DynamoDBDocumentClient { - const ddbClient = new DynamoDBClient({}); - return DynamoDBDocumentClient.from(ddbClient); -} - -function createLetterRepository( - log: pino.Logger, - // eslint-disable-next-line @typescript-eslint/no-shadow - envVars: EnvVars, -): LetterRepository { - const config = { - lettersTableName: envVars.LETTERS_TABLE_NAME, - lettersTtlHours: envVars.LETTER_TTL_HOURS, - }; - - return new LetterRepository(createDocumentClient(), log, config); -} - export function createDependenciesContainer(): Deps { const log = pino(); return { - letterRepo: createLetterRepository(log, envVars), logger: log, env: envVars, sqsClient: new SQSClient({}), diff --git a/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts b/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts index 4284794aa..14bfb2420 100644 --- a/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts +++ b/lambdas/allocate-letter/src/handler/__tests__/allocate-handler.test.ts @@ -1,13 +1,13 @@ import { SNSMessage, SQSEvent, SQSRecord } from "aws-lambda"; import pino from "pino"; -import { LetterRepository } from "internal/datastore/src"; +import { SQSClient, SendMessageCommand } from "@aws-sdk/client-sqs"; import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; import { LetterRequestPreparedEvent } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1"; import { $LetterEvent, LetterEvent, } from "@nhsdigital/nhs-notify-event-schemas-supplier-api/src/events/letter-events"; -import createUpsertLetterHandler from "../allocate-handler"; +import createAllocatedLetterHandler from "../allocate-handler"; import { Deps } from "../../config/deps"; import { EnvVars } from "../../config/env"; @@ -41,58 +41,6 @@ type SupportedEvent = | LetterRequestPreparedEvent | LetterEvent; -function createEventBridgeNotification( - event: SupportedEvent, -): Partial { - return { - SignatureVersion: "", - Timestamp: "", - Signature: "", - SigningCertUrl: "", - MessageId: "", - Message: createEventBridgeEvent(event), - MessageAttributes: {}, - Type: "Notification", - UnsubscribeUrl: "", - TopicArn: "", - Subject: "", - Token: "", - }; -} - -function createNotification(event: SupportedEvent): Partial { - return { - SignatureVersion: "", - Timestamp: "", - Signature: "", - SigningCertUrl: "", - MessageId: "", - Message: JSON.stringify(event), - MessageAttributes: {}, - Type: "Notification", - UnsubscribeUrl: "", - TopicArn: "", - Subject: "", - Token: "", - }; -} - -function createEventBridgeEvent(event: SupportedEvent): string { - const now = new Date().toISOString(); - const eventBridgeEnvelope = { - version: "0", - id: "4f28e649-6832-18e8-7261-4b63e6dcd3b5", - "detail-type": event.type, - source: "custom.event", - account: "815490582396", - time: now, - region: "eu-west-2", - resources: [], - detail: event, - }; - return JSON.stringify(eventBridgeEnvelope); -} - function createPreparedV1Event( overrides: Partial = {}, ): LetterRequestPreparedEvent { @@ -186,304 +134,449 @@ function createSupplierStatusChangeEvent( }); } -describe("createUpsertLetterHandler", () => { - const mockedDeps: jest.Mocked = { - letterRepo: { - putLetter: jest.fn(), - updateLetterStatus: jest.fn(), - } as unknown as LetterRepository, - logger: { error: jest.fn(), info: jest.fn() } as unknown as pino.Logger, - env: { - LETTERS_TABLE_NAME: "LETTERS_TABLE_NAME", - LETTER_TTL_HOURS: 12_960, - VARIANT_MAP: { - lv1: { - supplierId: "supplier1", - specId: "spec1", - }, - }, - } as EnvVars, - } as Deps; +function createEventBridgeNotification( + event: LetterRequestPreparedEventV2 | LetterRequestPreparedEvent, +): Partial { + return { + SignatureVersion: "", + Timestamp: "", + Signature: "", + SigningCertUrl: "", + MessageId: "", + Message: createEventBridgeEvent(event), + MessageAttributes: {}, + Type: "Notification", + UnsubscribeUrl: "", + TopicArn: "", + Subject: "", + Token: "", + }; +} + +function createNotification(event: SupportedEvent): Partial { + return { + SignatureVersion: "", + Timestamp: "", + Signature: "", + SigningCertUrl: "", + MessageId: "", + Message: JSON.stringify(event), + MessageAttributes: {}, + Type: "Notification", + UnsubscribeUrl: "", + TopicArn: "", + Subject: "", + Token: "", + }; +} + +function createEventBridgeEvent(event: SupportedEvent): string { + const now = new Date().toISOString(); + const eventBridgeEnvelope = { + version: "0", + id: "4f28e649-6832-18e8-7261-4b63e6dcd3b5", + "detail-type": event.type, + source: "custom.event", + account: "815490582396", + time: now, + region: "eu-west-2", + resources: [], + detail: event, + }; + return JSON.stringify(eventBridgeEnvelope); +} + +describe("createAllocatedLetterHandler", () => { + let mockSqsClient: jest.Mocked; + let mockedDeps: jest.Mocked; beforeEach(() => { + mockSqsClient = { + send: jest.fn(), + } as unknown as jest.Mocked; + + mockedDeps = { + logger: { error: jest.fn(), info: jest.fn() } as unknown as pino.Logger, + env: { + LETTERS_TABLE_NAME: "LETTERS_TABLE_NAME", + LETTER_TTL_HOURS: 12_960, + VARIANT_MAP: { + lv1: { + supplierId: "supplier1", + specId: "spec1", + }, + }, + } as EnvVars, + sqsClient: mockSqsClient, + } as jest.Mocked; + jest.clearAllMocks(); }); - test("processes all records successfully and returns no batch failures", async () => { + test("parses SNS notification and sends message to SQS queue for v2 event", async () => { + const preparedEvent = createPreparedV2Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "msg1", - JSON.stringify(createEventBridgeNotification(createPreparedV2Event())), - ), - createSqsRecord( - "msg2", - JSON.stringify(createNotification(createSupplierStatusChangeEvent())), - ), + createSqsRecord("msg1", JSON.stringify(snsNotification)), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + + expect(result.batchItemFailures).toHaveLength(0); + + expect(mockSqsClient.send).toHaveBeenCalledTimes(1); + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + expect(sendCall).toBeInstanceOf(SendMessageCommand); + + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.letterEvent).toEqual(preparedEvent); + expect(messageBody.operationType).toBe( + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", ); + expect(messageBody.supplierSpec).toEqual({ + supplierId: "supplier1", + specId: "spec1", + }); + }); + + test("parses SNS notification and sends message to SQS queue for v1 event", async () => { + const preparedEvent = createPreparedV1Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); expect(result).toBeDefined(); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(0); - expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(1); - expect(mockedDeps.letterRepo.updateLetterStatus).toHaveBeenCalledTimes(1); - - const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock - .calls[0][0]; - expect(firstArg.id).toBe("letter1"); - expect(firstArg.supplierId).toBe("supplier1"); - expect(firstArg.specificationId).toBe("spec1"); - expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); - expect(firstArg.status).toBe("PENDING"); - expect(firstArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); - - const secondArg = (mockedDeps.letterRepo.updateLetterStatus as jest.Mock) - .mock.calls[0][0]; - expect(secondArg.id).toBe("f47ac10b-58cc-4372-a567-0e02b2c3d479"); - expect(secondArg.supplierId).toBe("supplier1"); - expect(secondArg.status).toBe("RETURNED"); - expect(secondArg.reasonCode).toBe("R07"); - expect(secondArg.reasonText).toBe("No such address"); + expect(mockSqsClient.send).toHaveBeenCalledTimes(1); + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.operationType).toBe( + "uk.nhs.notify.letter-rendering.letter-request.prepared.v1", + ); + expect(messageBody.supplierSpec).toEqual({ + supplierId: "supplier1", + specId: "spec1", + }); + }); + + test("parses SNS notification and sends message to SQS queue for update event", async () => { + const preparedEvent = createSupplierStatusChangeEvent(); + const snsNotification = createNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + + expect(result.batchItemFailures).toHaveLength(0); + + expect(mockSqsClient.send).toHaveBeenCalledTimes(1); + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.operationType).toBe( + "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + ); + expect(messageBody.supplierSpec).toBeUndefined(); + }); + + test("unwraps EventBridge envelope and extracts event details", async () => { + const preparedEvent = createPreparedV2Event({ domainId: "letter-test" }); + const snsNotification = createEventBridgeNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + await handler(evt, {} as any, {} as any); + + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.letterEvent.data.domainId).toBe("letter-test"); }); - test("processes all v1 records successfully and returns no batch failures", async () => { + test("resolves correct supplier spec from variant map", async () => { + const preparedEvent = createPreparedV2Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + await handler(evt, {} as any, {} as any); + + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.supplierSpec.supplierId).toBe("supplier1"); + expect(messageBody.supplierSpec.specId).toBe("spec1"); + }); + + test("processes multiple messages in batch", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord( "msg1", - JSON.stringify(createNotification(createPreparedV1Event())), + JSON.stringify( + createEventBridgeNotification( + createPreparedV2Event({ domainId: "letter1" }), + ), + ), ), createSqsRecord( "msg2", JSON.stringify( - createNotification( - createPreparedV1Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45614", - domainId: "letter2", - url: "s3://letterDataBucket/letter2.pdf", - }), + createEventBridgeNotification( + createPreparedV2Event({ domainId: "letter2" }), ), ), ), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); expect(result).toBeDefined(); if (!result) throw new Error("expected BatchResponse, got void"); - expect(result.batchItemFailures).toHaveLength(0); - expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(2); - - const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock - .calls[0][0]; - expect(firstArg.id).toBe("letter1"); - expect(firstArg.supplierId).toBe("supplier1"); - expect(firstArg.specificationId).toBe("spec1"); - expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); - expect(firstArg.status).toBe("PENDING"); - expect(firstArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); - - const secondArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock - .calls[1][0]; - expect(secondArg.id).toBe("letter2"); - expect(secondArg.supplierId).toBe("supplier1"); - expect(secondArg.specificationId).toBe("spec1"); - expect(secondArg.url).toBe("s3://letterDataBucket/letter2.pdf"); - expect(secondArg.status).toBe("PENDING"); - expect(secondArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); + expect(result.batchItemFailures).toHaveLength(0); + expect(mockSqsClient.send).toHaveBeenCalledTimes(2); }); - test("invalid JSON body produces batch failure and logs error", async () => { + test("returns batch failure for invalid JSON", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord("bad-json", "this-is-not-json"), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); expect(result).toBeDefined(); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-json"); - - expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( - "Error processing upsert of record bad-json", - ); - expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect((mockedDeps.logger.error as jest.Mock).mock.calls).toHaveLength(1); }); - test("invalid notification schema produces batch failure and logs error", async () => { + test("returns batch failure for invalid SNS notification schema", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord( - "bad-notification-schema", - JSON.stringify({ not: "unexpected notification shape" }), + "bad-notification", + JSON.stringify({ not: "a valid notification" }), ), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); expect(result).toBeDefined(); if (!result) throw new Error("expected BatchResponse, got void"); - expect(result.batchItemFailures).toHaveLength(1); - expect(result.batchItemFailures[0].itemIdentifier).toBe( - "bad-notification-schema", - ); - expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( - "Error processing upsert of record bad-notification-schema", - ); - expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-notification"); }); - test("no event type produces batch failure and logs error", async () => { + test("returns batch failure when SNS Message is missing", async () => { + const snsMessage: Partial = { + Type: "Notification", + MessageId: "test-id", + }; + const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "bad-event-type", - JSON.stringify({ - Type: "Notification", - Message: JSON.stringify({ no: "type" }), - }), - ), + createSqsRecord("no-message", JSON.stringify(snsMessage)), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; - expect(result).toBeDefined(); + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); - expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-type"); - expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); - expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); - expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( - "Error processing upsert of record bad-event-type", - ); + expect(result.batchItemFailures[0].itemIdentifier).toBe("no-message"); }); - test("invalid event type produces batch failure and logs error", async () => { + test("returns batch failure when event type is missing", async () => { + const event = { no: "type" }; + const snsNotification: Partial = { + Type: "Notification", + Message: JSON.stringify(event), + MessageId: "test-id", + }; + const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "bad-event-type", - JSON.stringify({ - Type: "Notification", - Message: JSON.stringify({ type: "unexpected type" }), - }), - ), + createSqsRecord("no-type", JSON.stringify(snsNotification)), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; - expect(result).toBeDefined(); + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); - expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-type"); - expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); - expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); - expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( - "Error processing upsert of record bad-event-type", - ); + expect(result.batchItemFailures[0].itemIdentifier).toBe("no-type"); }); - test("valid event type and invalid schema produces batch failure and logs error", async () => { + test("returns batch failure when ALLOCATED_LETTERS_QUEUE_URL is not set", async () => { + const preparedEvent = createPreparedV2Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "bad-event-schema", - JSON.stringify({ - Type: "Notification", - Message: JSON.stringify({ - type: "uk.nhs.notify.letter-rendering.letter-request.prepared", - some: "unexpected shape", - }), - }), - ), + createSqsRecord("msg1", JSON.stringify(snsNotification)), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); + delete process.env.ALLOCATED_LETTERS_QUEUE_URL; - expect(result).toBeDefined(); + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); - expect(result.batchItemFailures[0].itemIdentifier).toBe("bad-event-schema"); - expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); - expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); - expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][1]).toBe( - "Error processing upsert of record bad-event-schema", + expect(result.batchItemFailures[0].itemIdentifier).toBe("msg1"); + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][0].err).toEqual( + expect.objectContaining({ + message: "ALLOCATED_LETTERS_QUEUE_URL not configured", + }), ); }); - test("repository throwing for one record causes that message to be returned in batch failures while others succeed", async () => { - (mockedDeps.letterRepo.putLetter as jest.Mock) - .mockResolvedValueOnce({}) - .mockRejectedValueOnce(new Error("ddb error")); + test("handles SQS send errors and returns batch failure", async () => { + const preparedEvent = createPreparedV2Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + const sqsError = new Error("SQS send failed"); + (mockSqsClient.send as jest.Mock).mockRejectedValueOnce(sqsError); + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); + if (!result) throw new Error("expected BatchResponse, got void"); + + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe("msg1"); + expect((mockedDeps.logger.error as jest.Mock).mock.calls).toHaveLength(1); + }); + + test("processes mixed batch with successes and failures", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord( "ok-msg", JSON.stringify( - createNotification( - createPreparedV2Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45615", - domainId: "ok", - }), + createEventBridgeNotification( + createPreparedV2Event({ domainId: "letter1" }), ), ), ), + createSqsRecord("fail-msg", "invalid-json"), createSqsRecord( - "fail-msg", + "ok-msg-2", JSON.stringify( - createNotification( - createPreparedV2Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45616", - domainId: "fail", - }), + createEventBridgeNotification( + createPreparedV2Event({ domainId: "letter2" }), ), ), ), ]); - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); - - expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(2); + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); expect(result.batchItemFailures[0].itemIdentifier).toBe("fail-msg"); - expect(mockedDeps.logger.error).toHaveBeenCalled(); + expect(mockSqsClient.send).toHaveBeenCalledTimes(2); + }); + + test("does not include supplierSpec for non-insert event types", async () => { + const event = { + type: "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + data: { status: "RETURNED" }, + }; + const snsNotification: Partial = { + Type: "Notification", + Message: JSON.stringify(event), + MessageId: "test-id", + }; + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("supplier-event", JSON.stringify(snsNotification)), + ]); + + process.env.ALLOCATED_LETTERS_QUEUE_URL = "https://sqs.test.queue"; + + const handler = createAllocatedLetterHandler(mockedDeps); + const result = await handler(evt, {} as any, {} as any); + if (!result) throw new Error("expected BatchResponse, got void"); + + expect(result.batchItemFailures).toHaveLength(0); + + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + const messageBody = JSON.parse(sendCall.input.MessageBody); + expect(messageBody.letterEvent).toEqual(event); + expect(messageBody.operationType).toBe( + "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + ); + expect(messageBody.supplierSpec).toBeUndefined(); + }); + + test("sends correct queue URL in SQS message command", async () => { + const preparedEvent = createPreparedV2Event(); + const snsNotification = createEventBridgeNotification(preparedEvent); + + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("msg1", JSON.stringify(snsNotification)), + ]); + + const queueUrl = "https://sqs.eu-west-2.amazonaws.com/123456789/test-queue"; + process.env.ALLOCATED_LETTERS_QUEUE_URL = queueUrl; + + const handler = createAllocatedLetterHandler(mockedDeps); + await handler(evt, {} as any, {} as any); + + const sendCall = (mockSqsClient.send as jest.Mock).mock.calls[0][0]; + expect(sendCall.input.QueueUrl).toBe(queueUrl); }); }); diff --git a/lambdas/allocate-letter/src/handler/allocate-handler.ts b/lambdas/allocate-letter/src/handler/allocate-handler.ts index d12860e75..5809f1e60 100644 --- a/lambdas/allocate-letter/src/handler/allocate-handler.ts +++ b/lambdas/allocate-letter/src/handler/allocate-handler.ts @@ -9,8 +9,9 @@ import { SendMessageCommand } from "@aws-sdk/client-sqs"; import { LetterRequestPreparedEvent } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1"; import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; -import z from "zod"; +import z, { url } from "zod"; import { Deps } from "../config/deps"; +import { de } from "zod/v4/locales"; type SupplierSpec = { supplierId: string; specId: string }; type PreparedEvents = LetterRequestPreparedEventV2 | LetterRequestPreparedEvent; @@ -61,7 +62,7 @@ function getSupplier(letterEvent: PreparedEvents, deps: Deps): SupplierSpec { function isInsert(type: string): boolean { return ( type === "uk.nhs.notify.letter-rendering.letter-request.prepared.v2" || - type === "uk.nhs.notify.letter-rendering.letter-request.prepared" // legacy schema + type === "uk.nhs.notify.letter-rendering.letter-request.prepared.v1" // legacy schema ); } @@ -96,6 +97,11 @@ export default function createAllocatedLetterHandler(deps: Deps): SQSHandler { ...(supplierSpec && { supplierSpec }), }; + deps.logger.info( + { msg: queueMessage, url: queueUrl }, + "Sending message to allocated letters queue", + ); + await deps.sqsClient.send( new SendMessageCommand({ QueueUrl: queueUrl, diff --git a/lambdas/upsert-letter/src/config/__tests__/env.test.ts b/lambdas/upsert-letter/src/config/__tests__/env.test.ts index 3c3de2309..7f3462798 100644 --- a/lambdas/upsert-letter/src/config/__tests__/env.test.ts +++ b/lambdas/upsert-letter/src/config/__tests__/env.test.ts @@ -17,31 +17,17 @@ describe("lambdaEnv", () => { it("should load all environment variables successfully", () => { process.env.LETTERS_TABLE_NAME = "letters-table"; process.env.LETTER_TTL_HOURS = "12960"; - process.env.VARIANT_MAP = `{ - "lv1": { - "supplierId": "supplier1", - "specId": "spec1" - } - }`; const { envVars } = require("../env"); expect(envVars).toEqual({ LETTERS_TABLE_NAME: "letters-table", LETTER_TTL_HOURS: 12_960, - VARIANT_MAP: { - lv1: { - supplierId: "supplier1", - specId: "spec1", - }, - }, }); }); it("should throw if a required env var is missing", () => { process.env.LETTERS_TABLE_NAME = "table"; - process.env.LETTER_TTL_HOURS = "12960"; - process.env.VARIANT_MAP = undefined; expect(() => require("../env")).toThrow(ZodError); }); diff --git a/lambdas/upsert-letter/src/config/env.ts b/lambdas/upsert-letter/src/config/env.ts index 8230088bc..05fc909af 100644 --- a/lambdas/upsert-letter/src/config/env.ts +++ b/lambdas/upsert-letter/src/config/env.ts @@ -1,14 +1,5 @@ import { z } from "zod"; -const LetterVariantSchema = z.record( - z.string(), - z.object({ - supplierId: z.string(), - specId: z.string(), - }), -); -export type LetterVariant = z.infer; - const EnvVarsSchema = z.object({ LETTERS_TABLE_NAME: z.string(), LETTER_TTL_HOURS: z.coerce.number().int(), diff --git a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts index 73826cd53..0fa343750 100644 --- a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts +++ b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts @@ -1,4 +1,4 @@ -import { SNSMessage, SQSEvent, SQSRecord } from "aws-lambda"; +import { SQSEvent, SQSRecord } from "aws-lambda"; import pino from "pino"; import { LetterRepository } from "internal/datastore/src"; import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; @@ -36,63 +36,6 @@ function createSqsRecord(msgId: string, body: string): SQSRecord { }; } -type SupportedEvent = - | LetterRequestPreparedEventV2 - | LetterRequestPreparedEvent - | LetterEvent; - -function createEventBridgeNotification( - event: SupportedEvent, -): Partial { - return { - SignatureVersion: "", - Timestamp: "", - Signature: "", - SigningCertUrl: "", - MessageId: "", - Message: createEventBridgeEvent(event), - MessageAttributes: {}, - Type: "Notification", - UnsubscribeUrl: "", - TopicArn: "", - Subject: "", - Token: "", - }; -} - -function createNotification(event: SupportedEvent): Partial { - return { - SignatureVersion: "", - Timestamp: "", - Signature: "", - SigningCertUrl: "", - MessageId: "", - Message: JSON.stringify(event), - MessageAttributes: {}, - Type: "Notification", - UnsubscribeUrl: "", - TopicArn: "", - Subject: "", - Token: "", - }; -} - -function createEventBridgeEvent(event: SupportedEvent): string { - const now = new Date().toISOString(); - const eventBridgeEnvelope = { - version: "0", - id: "4f28e649-6832-18e8-7261-4b63e6dcd3b5", - "detail-type": event.type, - source: "custom.event", - account: "815490582396", - time: now, - region: "eu-west-2", - resources: [], - detail: event, - }; - return JSON.stringify(eventBridgeEnvelope); -} - function createPreparedV1Event( overrides: Partial = {}, ): LetterRequestPreparedEvent { @@ -196,12 +139,6 @@ describe("createUpsertLetterHandler", () => { env: { LETTERS_TABLE_NAME: "LETTERS_TABLE_NAME", LETTER_TTL_HOURS: 12_960, - VARIANT_MAP: { - lv1: { - supplierId: "supplier1", - specId: "spec1", - }, - }, } as EnvVars, } as Deps; @@ -210,67 +147,28 @@ describe("createUpsertLetterHandler", () => { }); test("processes all records successfully and returns no batch failures", async () => { - const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "msg1", - JSON.stringify(createEventBridgeNotification(createPreparedV2Event())), - ), - createSqsRecord( - "msg2", - JSON.stringify(createNotification(createSupplierStatusChangeEvent())), - ), - ]); - - const result = await createUpsertLetterHandler(mockedDeps)( - evt, - {} as any, - {} as any, - ); - - expect(result).toBeDefined(); - if (!result) throw new Error("expected BatchResponse, got void"); - expect(result.batchItemFailures).toHaveLength(0); - - expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(1); - expect(mockedDeps.letterRepo.updateLetterStatus).toHaveBeenCalledTimes(1); + const v2message = { + letterEvent: createPreparedV2Event(), + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; + const v1message = { + letterEvent: createPreparedV1Event(), + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v1", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; + const updateMessage = { + letterEvent: createSupplierStatusChangeEvent(), + operationType: "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + supplierSpec: undefined, + }; - const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock - .calls[0][0]; - expect(firstArg.id).toBe("letter1"); - expect(firstArg.supplierId).toBe("supplier1"); - expect(firstArg.specificationId).toBe("spec1"); - expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); - expect(firstArg.status).toBe("PENDING"); - expect(firstArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); - - const secondArg = (mockedDeps.letterRepo.updateLetterStatus as jest.Mock) - .mock.calls[0][0]; - expect(secondArg.id).toBe("f47ac10b-58cc-4372-a567-0e02b2c3d479"); - expect(secondArg.supplierId).toBe("supplier1"); - expect(secondArg.status).toBe("RETURNED"); - expect(secondArg.reasonCode).toBe("R07"); - expect(secondArg.reasonText).toBe("No such address"); - }); - - test("processes all v1 records successfully and returns no batch failures", async () => { const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "msg1", - JSON.stringify(createNotification(createPreparedV1Event())), - ), - createSqsRecord( - "msg2", - JSON.stringify( - createNotification( - createPreparedV1Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45614", - domainId: "letter2", - url: "s3://letterDataBucket/letter2.pdf", - }), - ), - ), - ), + createSqsRecord("msg1", JSON.stringify(v2message)), + createSqsRecord("msg2", JSON.stringify(v1message)), + createSqsRecord("msg3", JSON.stringify(updateMessage)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -284,29 +182,40 @@ describe("createUpsertLetterHandler", () => { expect(result.batchItemFailures).toHaveLength(0); expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(2); - - const firstArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock + expect(mockedDeps.letterRepo.updateLetterStatus).toHaveBeenCalledTimes(1); + const insertedV2Letter = (mockedDeps.letterRepo.putLetter as jest.Mock).mock .calls[0][0]; - expect(firstArg.id).toBe("letter1"); - expect(firstArg.supplierId).toBe("supplier1"); - expect(firstArg.specificationId).toBe("spec1"); - expect(firstArg.url).toBe("s3://letterDataBucket/letter1.pdf"); - expect(firstArg.status).toBe("PENDING"); - expect(firstArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); - - const secondArg = (mockedDeps.letterRepo.putLetter as jest.Mock).mock + expect(insertedV2Letter.id).toBe("letter1"); + expect(insertedV2Letter.supplierId).toBe("supplier1"); + expect(insertedV2Letter.specificationId).toBe("spec1"); + expect(insertedV2Letter.billingRef).toBe("spec1"); + expect(insertedV2Letter.url).toBe("s3://letterDataBucket/letter1.pdf"); + expect(insertedV2Letter.status).toBe("PENDING"); + expect(insertedV2Letter.groupId).toBe("client1campaign1template1"); + expect(insertedV2Letter.source).toBe("/data-plane/letter-rendering/test"); + + const insertedV1Letter = (mockedDeps.letterRepo.putLetter as jest.Mock).mock .calls[1][0]; - expect(secondArg.id).toBe("letter2"); - expect(secondArg.supplierId).toBe("supplier1"); - expect(secondArg.specificationId).toBe("spec1"); - expect(secondArg.url).toBe("s3://letterDataBucket/letter2.pdf"); - expect(secondArg.status).toBe("PENDING"); - expect(secondArg.groupId).toBe("client1campaign1template1"); - expect(firstArg.source).toBe("/data-plane/letter-rendering/test"); + expect(insertedV1Letter.id).toBe("letter1"); + expect(insertedV1Letter.supplierId).toBe("supplier1"); + expect(insertedV1Letter.specificationId).toBe("spec1"); + expect(insertedV1Letter.billingRef).toBe("spec1"); + expect(insertedV1Letter.url).toBe("s3://letterDataBucket/letter1.pdf"); + expect(insertedV1Letter.status).toBe("PENDING"); + expect(insertedV1Letter.groupId).toBe("client1campaign1template1"); + expect(insertedV1Letter.source).toBe("/data-plane/letter-rendering/test"); + + const updatedLetter = ( + mockedDeps.letterRepo.updateLetterStatus as jest.Mock + ).mock.calls[0][0]; + expect(updatedLetter.id).toBe("f47ac10b-58cc-4372-a567-0e02b2c3d479"); + expect(updatedLetter.status).toBe("RETURNED"); + expect(updatedLetter.reasonCode).toBe("R07"); + expect(updatedLetter.reasonText).toBe("No such address"); + expect(updatedLetter.supplierId).toBe("supplier1"); }); - test("invalid JSON body produces batch failure and logs error", async () => { + test("invalid JSON produces batch failure and logs error", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord("bad-json", "this-is-not-json"), ]); @@ -331,12 +240,16 @@ describe("createUpsertLetterHandler", () => { expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); }); - test("invalid notification schema produces batch failure and logs error", async () => { + test("invalid letter event schema produces batch failure", async () => { + const message = { + letterEvent: { someField: "invalid" }, + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; + const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "bad-notification-schema", - JSON.stringify({ not: "unexpected notification shape" }), - ), + createSqsRecord("bad-schema", JSON.stringify(message)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -394,13 +307,7 @@ describe("createUpsertLetterHandler", () => { test("invalid event type produces batch failure and logs error", async () => { const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "bad-event-type", - JSON.stringify({ - Type: "Notification", - Message: JSON.stringify({ type: "unexpected type" }), - }), - ), + createSqsRecord("unknown-op", JSON.stringify(message)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -426,15 +333,15 @@ describe("createUpsertLetterHandler", () => { test("valid event type and invalid schema produces batch failure and logs error", async () => { const evt: SQSEvent = createSQSEvent([ createSqsRecord( - "bad-event-schema", + "ok-msg", JSON.stringify({ - Type: "Notification", - Message: JSON.stringify({ - type: "uk.nhs.notify.letter-rendering.letter-request.prepared", - some: "unexpected shape", - }), + letterEvent: createPreparedV2Event(), + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, }), ), + createSqsRecord("fail-msg", "invalid-json"), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -499,6 +406,6 @@ describe("createUpsertLetterHandler", () => { expect(result.batchItemFailures).toHaveLength(1); expect(result.batchItemFailures[0].itemIdentifier).toBe("fail-msg"); - expect(mockedDeps.logger.error).toHaveBeenCalled(); + expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(1); }); }); diff --git a/lambdas/upsert-letter/src/handler/upsert-handler.ts b/lambdas/upsert-letter/src/handler/upsert-handler.ts index febda3952..45bc402c3 100644 --- a/lambdas/upsert-letter/src/handler/upsert-handler.ts +++ b/lambdas/upsert-letter/src/handler/upsert-handler.ts @@ -1,10 +1,4 @@ -import { - SNSMessage, - SQSBatchItemFailure, - SQSEvent, - SQSHandler, - SQSRecord, -} from "aws-lambda"; +import { SQSBatchItemFailure, SQSEvent, SQSHandler } from "aws-lambda"; import { InsertLetter, UpdateLetter } from "@internal/datastore"; import { $LetterRequestPreparedEvent, @@ -39,9 +33,6 @@ type UpsertOperation = { ) => Promise; }; -// small envelope that must exist in all inputs -const TypeEnvelope = z.object({ type: z.string().min(1) }); - function getOperationFromType(type: string): UpsertOperation { if (type.startsWith("uk.nhs.notify.letter-rendering.letter-request.prepared")) return { diff --git a/package-lock.json b/package-lock.json index a63b758e2..2ae79a938 100644 --- a/package-lock.json +++ b/package-lock.json @@ -103,413 +103,585 @@ "typescript": "^5.9.3" } }, - "internal/datastore/node_modules/@stylistic/eslint-plugin": { - "version": "5.8.0", - "dev": true, - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/types": "^8.54.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.3" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": ">=9.0.0" + "node": ">=20.0.0" } }, - "internal/datastore/node_modules/pino": { - "version": "9.14.0", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=20.0.0" } }, - "internal/events": { - "name": "@nhsdigital/nhs-notify-event-schemas-supplier-api", - "version": "1.0.11", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@asyncapi/bundler": "^0.6.4", - "zod": "^4.1.11" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, - "devDependencies": { - "@stoplight/spectral-cli": "^6.15.0", - "@stylistic/eslint-plugin": "^5.8.0", - "@tsconfig/node22": "^22.0.2", - "@types/jest": "^30.0.0", - "@typescript-eslint/eslint-plugin": "^8.27.0", - "@typescript-eslint/parser": "^8.27.0", - "eslint": "^9.27.0", - "eslint-plugin-jest": "^29.0.1", - "jest": "^30.2.0", - "ts-jest": "^29.4.0", - "ts-node": "^10.9.2", - "typescript": "^5.9.3" + "engines": { + "node": ">=20.0.0" } }, - "internal/events/node_modules/@stylistic/eslint-plugin": { - "version": "5.8.0", - "dev": true, - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/types": "^8.54.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.3" + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": ">=9.0.0" + "node": ">=20.0.0" } }, - "internal/helpers": { - "name": "@internal/helpers", - "version": "0.1.0", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "pino": "^10.3.0", - "zod": "^4.1.11" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "devDependencies": { - "@stylistic/eslint-plugin": "^5.8.0", - "@tsconfig/node22": "^22.0.2", - "@types/jest": "^30.0.0", - "@typescript-eslint/eslint-plugin": "^8.27.0", - "@typescript-eslint/parser": "^8.27.0", - "eslint": "^9.27.0", - "eslint-plugin-jest": "^29.0.1", - "jest": "^30.2.0", - "ts-jest": "^29.4.0", - "ts-node": "^10.9.2", - "typescript": "^5.9.3" + "engines": { + "node": ">=20.0.0" } }, - "internal/helpers/node_modules/@stylistic/eslint-plugin": { - "version": "5.8.0", - "dev": true, - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/types": "^8.54.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.3" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=20.0.0" + } + }, + "internal/datastore/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "eslint": ">=9.0.0" + "engines": { + "node": ">=20.0.0" } }, - "internal/helpers/node_modules/pino": { - "version": "9.14.0", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/api-handler": { - "name": "nhs-notify-supplier-api-handler", - "version": "0.0.1", + "internal/datastore/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-dynamodb": "^3.984.0", - "@aws-sdk/client-s3": "^3.925.0", - "@aws-sdk/client-sqs": "^3.925.0", - "@aws-sdk/lib-dynamodb": "^3.925.0", - "@aws-sdk/s3-request-presigner": "^3.925.0", - "@internal/datastore": "*", - "@internal/helpers": "*", - "aws-embedded-metrics": "^4.2.1", - "aws-lambda": "^1.0.6", - "esbuild": "0.27.2", - "pino": "^10.3.0", - "zod": "^4.1.11" + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "devDependencies": { - "@tsconfig/node22": "^22.0.2", - "@types/aws-lambda": "^8.10.148", - "@types/jest": "^30.0.0", - "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", - "ts-jest": "^29.4.0", - "typescript": "^5.9.3", - "zod": "^4.1.11" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/api-handler/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "sprintf-js": "~1.0.2" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "lambdas/api-handler/node_modules/aws-lambda": { - "version": "1.0.7", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "aws-sdk": "^2.814.0", - "commander": "^3.0.2", - "js-yaml": "^3.14.1", - "watchpack": "^2.0.0-beta.10" + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "lambda": "bin/lambda" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/api-handler/node_modules/commander": { - "version": "3.0.2", - "license": "MIT" - }, - "lambdas/api-handler/node_modules/js-yaml": { - "version": "3.14.2", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/api-handler/node_modules/pino": { - "version": "9.14.0", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/util-dynamodb": "3.986.0", + "@smithy/core": "^3.22.1", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.986.0" } }, - "lambdas/authorizer": { - "name": "nhs-notify-supplier-authorizer", - "version": "0.0.1", + "internal/datastore/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", + "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-dynamodb": "^3.984.0", - "@aws-sdk/lib-dynamodb": "^3.858.0", - "@internal/datastore": "*", - "@internal/helpers": "*", - "aws-lambda": "^1.0.7", - "esbuild": "0.27.2", - "pino": "^10.3.0", - "zod": "^4.1.11" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "devDependencies": { - "@tsconfig/node22": "^22.0.2", - "@types/aws-lambda": "^8.10.148", - "@types/jest": "^30.0.0", - "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", - "ts-jest": "^29.4.0", - "typescript": "^5.9.3" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/authorizer/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "sprintf-js": "~1.0.2" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "lambdas/authorizer/node_modules/aws-lambda": { - "version": "1.0.7", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "aws-sdk": "^2.814.0", - "commander": "^3.0.2", - "js-yaml": "^3.14.1", - "watchpack": "^2.0.0-beta.10" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, - "bin": { - "lambda": "bin/lambda" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/authorizer/node_modules/commander": { - "version": "3.0.2", - "license": "MIT" - }, - "lambdas/authorizer/node_modules/js-yaml": { - "version": "3.14.2", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/authorizer/node_modules/pino": { - "version": "9.14.0", - "license": "MIT", + "internal/datastore/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=20.0.0" } }, - "lambdas/letter-updates-transformer": { - "name": "nhs-notify-supplier-api-letter-updates-transformer", - "version": "0.0.1", + "internal/datastore/node_modules/@aws-sdk/util-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sns": "^3.943.0", - "@aws-sdk/util-dynamodb": "^3.943.0", - "@internal/datastore": "^0.1.0", - "@internal/helpers": "^0.1.0", - "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", - "aws-embedded-metrics": "^4.2.1", - "aws-lambda": "^1.0.6", - "esbuild": "0.27.2", - "pino": "^10.3.0", - "zod": "^4.1.13" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.986.0" + } + }, + "internal/datastore/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "internal/datastore/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "internal/datastore/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "internal/datastore/node_modules/@stylistic/eslint-plugin": { + "version": "5.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.54.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0" + } + }, + "internal/events": { + "name": "@nhsdigital/nhs-notify-event-schemas-supplier-api", + "version": "1.0.11", + "license": "MIT", + "dependencies": { + "@asyncapi/bundler": "^0.6.4", + "zod": "^4.1.11" }, "devDependencies": { + "@stoplight/spectral-cli": "^6.15.0", + "@stylistic/eslint-plugin": "^5.8.0", "@tsconfig/node22": "^22.0.2", - "@types/aws-lambda": "^8.10.148", "@types/jest": "^30.0.0", + "@typescript-eslint/eslint-plugin": "^8.27.0", + "@typescript-eslint/parser": "^8.27.0", + "eslint": "^9.27.0", + "eslint-plugin-jest": "^29.0.1", "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", "ts-jest": "^29.4.0", - "typescript": "^5.8.3" + "ts-node": "^10.9.2", + "typescript": "^5.9.3" } }, - "lambdas/mi-updates-transformer": { - "name": "nhs-notify-supplier-api-mi-updates-transformer", - "version": "0.0.1", + "internal/events/node_modules/@stylistic/eslint-plugin": { + "version": "5.8.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.54.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0" + } + }, + "internal/helpers": { + "name": "@internal/helpers", + "version": "0.1.0", + "license": "MIT", "dependencies": { - "@aws-sdk/client-sns": "^3.954.0", - "@aws-sdk/util-dynamodb": "^3.943.0", - "@internal/datastore": "^0.1.0", - "@internal/helpers": "*", - "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", - "aws-embedded-metrics": "^4.2.1", - "aws-lambda": "^1.0.6", - "esbuild": "^0.27.3", "pino": "^10.3.0", - "zod": "^4.1.13" + "zod": "^4.1.11" }, "devDependencies": { + "@stylistic/eslint-plugin": "^5.8.0", "@tsconfig/node22": "^22.0.2", - "@types/aws-lambda": "^8.10.148", "@types/jest": "^30.0.0", + "@typescript-eslint/eslint-plugin": "^8.27.0", + "@typescript-eslint/parser": "^8.27.0", + "eslint": "^9.27.0", + "eslint-plugin-jest": "^29.0.1", "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", - "typescript": "^5.8.3" + "ts-jest": "^29.4.0", + "ts-node": "^10.9.2", + "typescript": "^5.9.3" } }, - "lambdas/mi-updates-transformer/node_modules/esbuild": { - "version": "0.27.3", - "hasInstallScript": true, + "internal/helpers/node_modules/@stylistic/eslint-plugin": { + "version": "5.8.0", + "dev": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/types": "^8.54.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "peerDependencies": { + "eslint": ">=9.0.0" } }, - "lambdas/upsert-letter": { - "name": "nhs-notify-supplier-api-upsert-letter", + "lambdas/allocate-letter": { + "name": "nhs-notify-supplier-api-allocate-letter", "version": "0.0.1", "dependencies": { - "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/client-dynamodb": "^3.858.0", + "@aws-sdk/client-sqs": "^3.984.0", "@aws-sdk/lib-dynamodb": "^3.858.0", "@internal/datastore": "*", - "@internal/helpers": "*", "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1": "npm:@nhsdigital/nhs-notify-event-schemas-letter-rendering@^1.1.5", "@nhsdigital/nhs-notify-event-schemas-supplier-api": "^1.0.8", "@types/aws-lambda": "^8.10.148", - "aws-embedded-metrics": "^4.2.1", - "aws-lambda": "^1.0.6", - "esbuild": "0.27.2", - "pino": "^10.3.0", + "aws-lambda": "^1.0.7", + "esbuild": "^0.27.2", + "pino": "^9.7.0", "zod": "^4.1.11" }, "devDependencies": { @@ -522,290 +694,366 @@ "typescript": "^5.8.3" } }, - "lambdas/upsert-letter/node_modules/pino": { - "version": "9.14.0", - "license": "MIT", - "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "11.9.3", - "license": "MIT", + "lambdas/allocate-letter/node_modules/@aws-sdk/client-sqs": { + "version": "3.984.0", + "license": "Apache-2.0", "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.15", - "js-yaml": "^4.1.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/credential-provider-node": "^3.972.5", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-sdk-sqs": "^3.972.5", + "@aws-sdk/middleware-user-agent": "^3.972.6", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.984.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.4", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/md5-js": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/philsturgeon" - } - }, - "node_modules/@asamuzakjp/css-color": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@csstools/css-calc": "^2.1.3", - "@csstools/css-color-parser": "^3.0.9", - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "lru-cache": "^10.4.3" - } - }, - "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { - "version": "10.4.3", - "dev": true, - "license": "ISC" - }, - "node_modules/@asyncapi/bundler": { - "version": "0.6.4", - "license": "Apache-2.0", - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^11.5.4", - "@types/json-schema": "^7.0.11", - "@ungap/structured-clone": "^1.2.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21" - } - }, - "node_modules/@asyncapi/specs": { - "version": "6.11.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.11" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/crc32": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/client-sso": { + "version": "3.982.0", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.6", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.982.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.4", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/crc32c": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.982.0", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha1-browser": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/core": { + "version": "3.973.6", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.6", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/credential-provider-env": "^3.972.4", + "@aws-sdk/credential-provider-http": "^3.972.6", + "@aws-sdk/credential-provider-login": "^3.972.4", + "@aws-sdk/credential-provider-process": "^3.972.4", + "@aws-sdk/credential-provider-sso": "^3.972.4", + "@aws-sdk/credential-provider-web-identity": "^3.972.4", + "@aws-sdk/nested-clients": "3.982.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/nested-clients": "3.982.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.4", + "@aws-sdk/credential-provider-http": "^3.972.6", + "@aws-sdk/credential-provider-ini": "^3.972.4", + "@aws-sdk/credential-provider-process": "^3.972.4", + "@aws-sdk/credential-provider-sso": "^3.972.4", + "@aws-sdk/credential-provider-web-identity": "^3.972.4", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", + "@aws-sdk/client-sso": "3.982.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/token-providers": "3.982.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/nested-clients": "3.982.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/util": { - "version": "5.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.6", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.982.0", + "@smithy/core": "^3.22.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.982.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" } }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-api-gateway": { - "version": "3.985.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/nested-clients": { + "version": "3.982.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/core": "^3.973.6", "@aws-sdk/middleware-host-header": "^3.972.3", "@aws-sdk/middleware-logger": "^3.972.3", "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-sdk-api-gateway": "^3.972.3", - "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/middleware-user-agent": "^3.972.6", "@aws-sdk/region-config-resolver": "^3.972.3", "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-endpoints": "3.982.0", "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", + "@aws-sdk/util-user-agent-node": "^3.972.4", "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", + "@smithy/core": "^3.22.0", "@smithy/fetch-http-handler": "^5.3.9", "@smithy/hash-node": "^4.2.8", "@smithy/invalid-dependency": "^4.2.8", "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", "@smithy/middleware-serde": "^4.2.9", "@smithy/middleware-stack": "^4.2.8", "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", + "@smithy/node-http-handler": "^4.4.8", "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", + "@smithy/smithy-client": "^4.11.1", "@smithy/types": "^4.12.0", "@smithy/url-parser": "^4.2.8", "@smithy/util-base64": "^4.3.0", "@smithy/util-body-length-browser": "^4.2.0", "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", "@smithy/util-endpoints": "^3.2.8", "@smithy/util-middleware": "^4.2.8", "@smithy/util-retry": "^4.2.8", - "@smithy/util-stream": "^4.5.11", "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" }, @@ -813,8 +1061,208 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/client-dynamodb": { - "version": "3.985.0", + "lambdas/allocate-letter/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.982.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/allocate-letter/node_modules/@aws-sdk/token-providers": { + "version": "3.982.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.6", + "@aws-sdk/nested-clients": "3.982.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/allocate-letter/node_modules/@aws-sdk/util-endpoints": { + "version": "3.984.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/allocate-letter/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.6", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "lambdas/allocate-letter/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/allocate-letter/node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "lambdas/allocate-letter/node_modules/aws-lambda": { + "version": "1.0.7", + "license": "MIT", + "dependencies": { + "aws-sdk": "^2.814.0", + "commander": "^3.0.2", + "js-yaml": "^3.14.1", + "watchpack": "^2.0.0-beta.10" + }, + "bin": { + "lambda": "bin/lambda" + } + }, + "lambdas/allocate-letter/node_modules/commander": { + "version": "3.0.2", + "license": "MIT" + }, + "lambdas/allocate-letter/node_modules/esbuild": { + "version": "0.27.3", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "lambdas/allocate-letter/node_modules/js-yaml": { + "version": "3.14.2", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "lambdas/allocate-letter/node_modules/pino": { + "version": "9.14.0", + "license": "MIT", + "dependencies": { + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "lambdas/api-handler": { + "name": "nhs-notify-supplier-api-handler", + "version": "0.0.1", + "dependencies": { + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/client-s3": "^3.925.0", + "@aws-sdk/client-sqs": "^3.925.0", + "@aws-sdk/lib-dynamodb": "^3.925.0", + "@aws-sdk/s3-request-presigner": "^3.925.0", + "@internal/datastore": "*", + "@internal/helpers": "*", + "aws-embedded-metrics": "^4.2.1", + "aws-lambda": "^1.0.6", + "esbuild": "0.27.2", + "pino": "^10.3.0", + "zod": "^4.1.11" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.9.3", + "zod": "^4.1.11" + } + }, + "lambdas/api-handler/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -829,7 +1277,7 @@ "@aws-sdk/middleware-user-agent": "^3.972.7", "@aws-sdk/region-config-resolver": "^3.972.3", "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-endpoints": "3.986.0", "@aws-sdk/util-user-agent-browser": "^3.972.3", "@aws-sdk/util-user-agent-node": "^3.972.5", "@smithy/config-resolver": "^4.4.6", @@ -864,14 +1312,13 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/client-kinesis": { + "lambdas/api-handler/node_modules/@aws-sdk/client-sso": { "version": "3.985.0", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", "@aws-sdk/middleware-host-header": "^3.972.3", "@aws-sdk/middleware-logger": "^3.972.3", "@aws-sdk/middleware-recursion-detection": "^3.972.3", @@ -883,9 +1330,6 @@ "@aws-sdk/util-user-agent-node": "^3.972.5", "@smithy/config-resolver": "^4.4.6", "@smithy/core": "^3.22.1", - "@smithy/eventstream-serde-browser": "^4.2.8", - "@smithy/eventstream-serde-config-resolver": "^4.3.8", - "@smithy/eventstream-serde-node": "^4.2.8", "@smithy/fetch-http-handler": "^5.3.9", "@smithy/hash-node": "^4.2.8", "@smithy/invalid-dependency": "^4.2.8", @@ -909,228 +1353,32 @@ "@smithy/util-middleware": "^4.2.8", "@smithy/util-retry": "^4.2.8", "@smithy/util-utf8": "^4.2.0", - "@smithy/util-waiter": "^4.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/client-s3": { + "lambdas/api-handler/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { "version": "3.985.0", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/sha1-browser": "5.2.0", - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", - "@aws-sdk/middleware-bucket-endpoint": "^3.972.3", - "@aws-sdk/middleware-expect-continue": "^3.972.3", - "@aws-sdk/middleware-flexible-checksums": "^3.972.5", - "@aws-sdk/middleware-host-header": "^3.972.3", - "@aws-sdk/middleware-location-constraint": "^3.972.3", - "@aws-sdk/middleware-logger": "^3.972.3", - "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-sdk-s3": "^3.972.7", - "@aws-sdk/middleware-ssec": "^3.972.3", - "@aws-sdk/middleware-user-agent": "^3.972.7", - "@aws-sdk/region-config-resolver": "^3.972.3", - "@aws-sdk/signature-v4-multi-region": "3.985.0", "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", - "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", - "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", - "@smithy/eventstream-serde-browser": "^4.2.8", - "@smithy/eventstream-serde-config-resolver": "^4.3.8", - "@smithy/eventstream-serde-node": "^4.2.8", - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/hash-blob-browser": "^4.2.9", - "@smithy/hash-node": "^4.2.8", - "@smithy/hash-stream-node": "^4.2.8", - "@smithy/invalid-dependency": "^4.2.8", - "@smithy/md5-js": "^4.2.8", - "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/util-stream": "^4.5.11", - "@smithy/util-utf8": "^4.2.0", - "@smithy/util-waiter": "^4.2.8", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/client-sns": { - "version": "3.985.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", - "@aws-sdk/middleware-host-header": "^3.972.3", - "@aws-sdk/middleware-logger": "^3.972.3", - "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-user-agent": "^3.972.7", - "@aws-sdk/region-config-resolver": "^3.972.3", - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", - "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", - "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/hash-node": "^4.2.8", - "@smithy/invalid-dependency": "^4.2.8", - "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/client-sqs": { - "version": "3.985.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", - "@aws-sdk/middleware-host-header": "^3.972.3", - "@aws-sdk/middleware-logger": "^3.972.3", - "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-sdk-sqs": "^3.972.6", - "@aws-sdk/middleware-user-agent": "^3.972.7", - "@aws-sdk/region-config-resolver": "^3.972.3", - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", - "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", - "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/hash-node": "^4.2.8", - "@smithy/invalid-dependency": "^4.2.8", - "@smithy/md5-js": "^4.2.8", - "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.985.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/middleware-host-header": "^3.972.3", - "@aws-sdk/middleware-logger": "^3.972.3", - "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-user-agent": "^3.972.7", - "@aws-sdk/region-config-resolver": "^3.972.3", - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", - "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", - "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/hash-node": "^4.2.8", - "@smithy/invalid-dependency": "^4.2.8", - "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.973.7", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/api-handler/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", "@smithy/core": "^3.22.1", "@smithy/node-config-provider": "^4.3.8", "@smithy/property-provider": "^4.2.8", @@ -1147,18 +1395,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/crc64-nvme": { - "version": "3.972.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-env": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1172,7 +1409,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-http": { "version": "3.972.7", "license": "Apache-2.0", "dependencies": { @@ -1191,7 +1428,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-ini": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1214,7 +1451,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-login": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-login": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1231,7 +1468,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-node": { "version": "3.972.6", "license": "Apache-2.0", "dependencies": { @@ -1252,7 +1489,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-process": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1267,7 +1504,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-sso": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1284,7 +1521,7 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity": { + "lambdas/api-handler/node_modules/@aws-sdk/credential-provider-web-identity": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { @@ -1300,74 +1537,106 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/dynamodb-codec": { - "version": "3.972.8", + "lambdas/api-handler/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", "@smithy/core": "^3.22.1", - "@smithy/smithy-client": "^4.11.2", + "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", - "@smithy/util-base64": "^4.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/endpoint-cache": { - "version": "3.972.2", + "lambdas/api-handler/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { - "mnemonist": "0.38.3", + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/lib-dynamodb": { + "lambdas/api-handler/node_modules/@aws-sdk/nested-clients": { "version": "3.985.0", "license": "Apache-2.0", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "^3.973.7", - "@aws-sdk/util-dynamodb": "3.985.0", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-dynamodb": "^3.985.0" } }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.972.3", + "lambdas/api-handler/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-arn-parser": "^3.972.2", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", - "@smithy/util-config-provider": "^4.2.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/middleware-endpoint-discovery": { - "version": "3.972.3", + "lambdas/api-handler/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/endpoint-cache": "^3.972.2", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", "@aws-sdk/types": "^3.973.1", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/protocol-http": "^5.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, @@ -1375,173 +1644,129 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.972.3", + "lambdas/api-handler/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.1", - "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { + "lambdas/api-handler/node_modules/@aws-sdk/util-user-agent-node": { "version": "3.972.5", "license": "Apache-2.0", "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@aws-crypto/crc32c": "5.2.0", - "@aws-crypto/util": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/crc64-nvme": "3.972.0", + "@aws-sdk/middleware-user-agent": "^3.972.7", "@aws-sdk/types": "^3.973.1", - "@smithy/is-array-buffer": "^4.2.0", "@smithy/node-config-provider": "^4.3.8", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-stream": "^4.5.11", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.972.3", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.972.3", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.972.3", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "peerDependencies": { + "aws-crt": ">=1.0.0" }, - "engines": { - "node": ">=20.0.0" + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.972.3", + "lambdas/api-handler/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@aws/lambda-invoke-store": "^0.2.2", - "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-api-gateway": { - "version": "3.972.3", - "license": "Apache-2.0", + "lambdas/authorizer": { + "name": "nhs-notify-supplier-authorizer", + "version": "0.0.1", "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/lib-dynamodb": "^3.858.0", + "@internal/datastore": "*", + "@internal/helpers": "*", + "aws-lambda": "^1.0.7", + "esbuild": "0.27.2", + "pino": "^10.3.0", + "zod": "^4.1.11" }, - "engines": { - "node": ">=20.0.0" + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.9.3" } }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.972.7", + "lambdas/authorizer/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", "license": "Apache-2.0", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-arn-parser": "^3.972.2", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", "@smithy/protocol-http": "^5.3.8", - "@smithy/signature-v4": "^5.3.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", - "@smithy/util-config-provider": "^4.2.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", "@smithy/util-middleware": "^4.2.8", - "@smithy/util-stream": "^4.5.11", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sqs": { - "version": "3.972.6", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-retry": "^4.2.8", "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.972.3", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.972.7", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.985.0", - "@smithy/core": "^3.22.1", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/@aws-sdk/nested-clients": { + "lambdas/authorizer/node_modules/@aws-sdk/client-sso": { "version": "3.985.0", "license": "Apache-2.0", "dependencies": { @@ -1588,45 +1813,49 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.972.3", + "lambdas/authorizer/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.1", - "@smithy/config-resolver": "^4.4.6", - "@smithy/node-config-provider": "^4.3.8", "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.985.0", + "lambdas/authorizer/node_modules/@aws-sdk/core": { + "version": "3.973.7", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.985.0", "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-format-url": "^3.972.3", - "@smithy/middleware-endpoint": "^4.4.13", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.985.0", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "^3.972.7", + "@aws-sdk/core": "^3.973.7", "@aws-sdk/types": "^3.973.1", - "@smithy/protocol-http": "^5.3.8", - "@smithy/signature-v4": "^5.3.8", + "@smithy/property-provider": "^4.2.8", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, @@ -1634,26 +1863,41 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.985.0", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.973.7", - "@aws-sdk/nested-clients": "3.985.0", "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", "@smithy/property-provider": "^4.2.8", - "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/types": { - "version": "3.973.1", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, @@ -1661,49 +1905,69 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.972.2", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-dynamodb": { - "version": "3.985.0", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-dynamodb": "^3.985.0" } }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.985.0", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.7", "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.972.3", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", "@aws-sdk/types": "^3.973.1", - "@smithy/querystring-builder": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, @@ -1711,5547 +1975,10451 @@ "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.965.4", + "lambdas/authorizer/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.972.3", + "lambdas/authorizer/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/core": "^3.973.7", "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", "@smithy/types": "^4.12.0", - "bowser": "^2.11.0", "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.972.5", + "lambdas/authorizer/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-user-agent": "^3.972.7", "@aws-sdk/types": "^3.973.1", - "@smithy/node-config-provider": "^4.3.8", "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } } }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.972.4", + "lambdas/authorizer/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", "license": "Apache-2.0", "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", "@smithy/types": "^4.12.0", - "fast-xml-parser": "5.3.4", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", "tslib": "^2.6.2" }, "engines": { "node": ">=20.0.0" } }, - "node_modules/@aws/lambda-invoke-store": { - "version": "0.2.3", + "lambdas/authorizer/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "license": "MIT", + "lambdas/authorizer/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "license": "MIT", + "lambdas/authorizer/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/core": { - "version": "7.29.0", - "license": "MIT", + "lambdas/authorizer/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "license": "MIT", + "lambdas/authorizer/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.9.0" + "node": ">=20.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", + "lambdas/authorizer/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", + "lambdas/authorizer/node_modules/aws-lambda": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/aws-lambda/-/aws-lambda-1.0.7.tgz", + "integrity": "sha512-9GNFMRrEMG5y3Jvv+V4azWvc+qNWdWLTjDdhf/zgMlz8haaaLWv0xeAIWxz9PuWUBawsVxy0zZotjCdR3Xq+2w==", + "license": "MIT", + "dependencies": { + "aws-sdk": "^2.814.0", + "commander": "^3.0.2", + "js-yaml": "^3.14.1", + "watchpack": "^2.0.0-beta.10" + }, "bin": { - "semver": "bin/semver.js" + "lambda": "bin/lambda" } }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "lambdas/authorizer/node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "license": "MIT" }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", + "lambdas/authorizer/node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": ">=6.9.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@babel/helper-module-transforms": { + "lambdas/letter-updates-transformer": { + "name": "nhs-notify-supplier-api-letter-updates-transformer", + "version": "0.0.1", + "dependencies": { + "@aws-sdk/client-sns": "^3.943.0", + "@aws-sdk/util-dynamodb": "^3.943.0", + "@internal/datastore": "^0.1.0", + "@internal/helpers": "^0.1.0", + "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", + "aws-embedded-metrics": "^4.2.1", + "aws-lambda": "^1.0.6", + "esbuild": "0.27.2", + "pino": "^10.3.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.8.3" + } + }, + "lambdas/mi-updates-transformer": { + "name": "nhs-notify-supplier-api-mi-updates-transformer", + "version": "0.0.1", + "dependencies": { + "@aws-sdk/client-sns": "^3.954.0", + "@aws-sdk/util-dynamodb": "^3.943.0", + "@internal/datastore": "^0.1.0", + "@internal/helpers": "*", + "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", + "aws-embedded-metrics": "^4.2.1", + "aws-lambda": "^1.0.6", + "esbuild": "^0.27.3", + "pino": "^10.3.0", + "zod": "^4.1.13" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "typescript": "^5.8.3" + } + }, + "lambdas/mi-updates-transformer/node_modules/esbuild": { + "version": "0.27.3", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "lambdas/upsert-letter": { + "name": "nhs-notify-supplier-api-upsert-letter", + "version": "0.0.1", + "dependencies": { + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/lib-dynamodb": "^3.858.0", + "@internal/datastore": "*", + "@internal/helpers": "*", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1": "npm:@nhsdigital/nhs-notify-event-schemas-letter-rendering@^1.1.5", + "@nhsdigital/nhs-notify-event-schemas-supplier-api": "^1.0.8", + "@types/aws-lambda": "^8.10.148", + "aws-embedded-metrics": "^4.2.1", + "aws-lambda": "^1.0.6", + "esbuild": "0.27.2", + "pino": "^10.3.0", + "zod": "^4.1.11" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/aws-lambda": "^8.10.148", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.8.3" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "lambdas/upsert-letter/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.9.3", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" + } + }, + "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" + }, + "node_modules/@asyncapi/bundler": { + "version": "0.6.4", + "license": "Apache-2.0", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.5.4", + "@types/json-schema": "^7.0.11", + "@ungap/structured-clone": "^1.2.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@asyncapi/specs": { + "version": "6.11.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, + "node_modules/@aws-crypto/crc32": { + "version": "5.2.0", + "license": "Apache-2.0", + "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/crc32c": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-node": "3.971.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-sdk-api-gateway": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-stream": "^4.5.10", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/client-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-login": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-ini": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.971.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/token-providers": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/middleware-logger": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@smithy/core": "^3.20.6", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/nested-clients": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/token-providers": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/util-endpoints": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-api-gateway/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-dynamodb": { + "version": "3.981.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/credential-provider-node": "^3.972.4", + "@aws-sdk/dynamodb-codec": "^3.972.5", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.5", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.981.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.3", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-node": "3.971.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/eventstream-serde-browser": "^4.2.8", + "@smithy/eventstream-serde-config-resolver": "^4.3.8", + "@smithy/eventstream-serde-node": "^4.2.8", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/client-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-login": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-ini": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.971.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/token-providers": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/middleware-logger": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@smithy/core": "^3.20.6", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/nested-clients": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/token-providers": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-endpoints": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-kinesis/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/eventstream-serde-browser": "^4.2.8", + "@smithy/eventstream-serde-config-resolver": "^4.3.8", + "@smithy/eventstream-serde-node": "^4.2.8", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-stream": "^4.5.11", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-lambda/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-node": "3.971.0", + "@aws-sdk/middleware-bucket-endpoint": "3.969.0", + "@aws-sdk/middleware-expect-continue": "3.969.0", + "@aws-sdk/middleware-flexible-checksums": "3.971.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-location-constraint": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-sdk-s3": "3.970.0", + "@aws-sdk/middleware-ssec": "3.971.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/signature-v4-multi-region": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/eventstream-serde-browser": "^4.2.8", + "@smithy/eventstream-serde-config-resolver": "^4.3.8", + "@smithy/eventstream-serde-node": "^4.2.8", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-blob-browser": "^4.2.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/hash-stream-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/md5-js": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-stream": "^4.5.10", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/client-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-login": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-ini": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.971.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/token-providers": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-logger": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@smithy/core": "^3.20.6", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/nested-clients": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/token-providers": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-endpoints": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-node": "3.971.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/client-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-login": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.970.0", + "@aws-sdk/credential-provider-http": "3.970.0", + "@aws-sdk/credential-provider-ini": "3.971.0", + "@aws-sdk/credential-provider-process": "3.970.0", + "@aws-sdk/credential-provider-sso": "3.971.0", + "@aws-sdk/credential-provider-web-identity": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.971.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/token-providers": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/middleware-host-header": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/middleware-logger": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@smithy/core": "^3.20.6", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/nested-clients": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/region-config-resolver": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/token-providers": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/nested-clients": "3.971.0", + "@aws-sdk/types": "3.969.0", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/util-endpoints": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/client-sns/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sqs": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/credential-provider-node": "3.971.0", + "@aws-sdk/middleware-host-header": "3.969.0", + "@aws-sdk/middleware-logger": "3.969.0", + "@aws-sdk/middleware-recursion-detection": "3.969.0", + "@aws-sdk/middleware-sdk-sqs": "3.970.0", + "@aws-sdk/middleware-user-agent": "3.970.0", + "@aws-sdk/region-config-resolver": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-endpoints": "3.970.0", + "@aws-sdk/util-user-agent-browser": "3.969.0", + "@aws-sdk/util-user-agent-node": "3.971.0", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.20.6", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/md5-js": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/middleware-retry": "^4.4.23", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.22", + "@smithy/util-defaults-mode-node": "^4.2.25", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.5", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.980.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.3", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.973.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.2", + "@smithy/core": "^3.22.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/crc64-nvme": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.10", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/credential-provider-env": "^3.972.3", + "@aws-sdk/credential-provider-http": "^3.972.5", + "@aws-sdk/credential-provider-login": "^3.972.3", + "@aws-sdk/credential-provider-process": "^3.972.3", + "@aws-sdk/credential-provider-sso": "^3.972.3", + "@aws-sdk/credential-provider-web-identity": "^3.972.3", + "@aws-sdk/nested-clients": "3.980.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/nested-clients": "3.980.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.3", + "@aws-sdk/credential-provider-http": "^3.972.5", + "@aws-sdk/credential-provider-ini": "^3.972.3", + "@aws-sdk/credential-provider-process": "^3.972.3", + "@aws-sdk/credential-provider-sso": "^3.972.3", + "@aws-sdk/credential-provider-web-identity": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.980.0", + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/token-providers": "3.980.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/nested-clients": "3.980.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/dynamodb-codec": { + "version": "3.972.8", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@smithy/core": "^3.22.1", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/dynamodb-codec/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/dynamodb-codec/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/endpoint-cache": { + "version": "3.972.2", + "license": "Apache-2.0", + "dependencies": { + "mnemonist": "0.38.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.981.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/util-dynamodb": "3.981.0", + "@smithy/core": "^3.22.0", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "3.981.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-arn-parser": "3.968.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-config-provider": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint-discovery": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/endpoint-cache": "^3.972.2", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-crypto/util": "5.2.0", + "@aws-sdk/core": "3.970.0", + "@aws-sdk/crc64-nvme": "3.969.0", + "@aws-sdk/types": "3.969.0", + "@smithy/is-array-buffer": "^4.2.0", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-stream": "^4.5.10", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws/lambda-invoke-store": "^0.2.2", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-api-gateway": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-api-gateway/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-arn-parser": "3.968.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-config-provider": "^4.2.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-stream": "^4.5.10", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/core": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@aws-sdk/xml-builder": "3.969.0", + "@smithy/core": "^3.20.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/xml-builder": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.2.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sqs": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.980.0", + "@smithy/core": "^3.22.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.5", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.980.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.3", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.0", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.12", + "@smithy/middleware-retry": "^4.4.29", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.28", + "@smithy/util-defaults-mode-node": "^4.2.31", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/config-resolver": "^4.4.6", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.971.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@aws-sdk/util-format-url": "3.969.0", + "@smithy/middleware-endpoint": "^4.4.7", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.10.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.970.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.970.0", + "@aws-sdk/types": "3.969.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/@aws-sdk/types": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.980.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.5", + "@aws-sdk/nested-clients": "3.980.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.973.1", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.968.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-dynamodb": { + "version": "3.981.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-dynamodb": "3.981.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.981.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.969.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.969.0", + "@smithy/querystring-builder": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.965.4", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.972.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws/lambda-invoke-store": { + "version": "0.2.3", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { "version": "7.28.6", "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@balena/dockerignore": { + "version": "1.0.2", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@borewit/text-codec": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.1.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.1.0", + "@csstools/css-calc": "^2.1.4" }, "engines": { - "node": ">=6.9.0" + "node": ">=18" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", + "node_modules/@csstools/css-tokenizer": { + "version": "3.0.4", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", + "node_modules/@datastructures-js/heap": { + "version": "4.3.7", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=18" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "dev": true, "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/helpers": { - "version": "7.28.6", + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "dev": true, "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/parser": { - "version": "7.29.0", + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "bin": { - "parser": "bin/babel-parser.js" + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" }, "engines": { - "node": ">=6.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", + "node_modules/@eslint/core": { + "version": "0.17.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "license": "MIT", + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.14.3", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@grpc/proto-loader": "^0.8.0", + "@js-sdsl/ordered-map": "^4.4.2" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12.10.0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.8.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.5.3", + "yargs": "^17.7.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "license": "MIT", + "node_modules/@grpc/proto-loader": { + "version": "0.7.15", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18.18.0" } }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "license": "MIT", + "node_modules/@humanfs/node": { + "version": "0.16.7", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", + "node_modules/@internal/datastore": { + "resolved": "internal/datastore", + "link": true + }, + "node_modules/@internal/helpers": { + "resolved": "internal/helpers", + "link": true + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "20 || >=22" } }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@isaacs/balanced-match": "^4.0.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "20 || >=22" } }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "license": "MIT", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "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": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=12" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, "engines": { - "node": ">=6.9.0" + "node": ">=12" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@babel/runtime": { - "version": "7.28.6", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", "dev": true, "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">=6.9.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/template": { - "version": "7.28.6", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@babel/traverse": { - "version": "7.29.0", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@babel/types": { - "version": "7.29.0", - "license": "MIT", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "license": "ISC", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/@balena/dockerignore": { - "version": "1.0.2", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@borewit/text-codec": { - "version": "0.2.1", - "dev": true, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "dependencies": { + "sprintf-js": "~1.0.2" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "dev": true, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "dev": true, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@csstools/color-helpers": { - "version": "5.1.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@csstools/css-calc": { - "version": "2.1.4", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=18" + "node": ">=6" }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@csstools/css-color-parser": { - "version": "3.1.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "@csstools/color-helpers": "^5.1.0", - "@csstools/css-calc": "^2.1.4" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.5", - "@csstools/css-tokenizer": "^3.0.4" + "node": ">=8" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", "license": "MIT", "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.4" + "node": ">=8" } }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.4", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/@datastructures-js/heap": { - "version": "4.3.7", - "license": "MIT" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.4.0", + "node_modules/@jest/console": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.9.0" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@emotion/unitless": { - "version": "0.10.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", + "node_modules/@jest/core": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "@jest/console": "30.2.0", + "@jest/pattern": "30.0.1", + "@jest/reporters": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-changed-files": "30.2.0", + "jest-config": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-resolve-dependencies": "30.2.0", + "jest-runner": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "jest-watcher": "30.2.0", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "dev": true, + "node_modules/@jest/diff-sequences": { + "version": "30.0.1", "license": "MIT", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/@jest/environment": { + "version": "30.2.0", + "license": "MIT", "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-mock": "30.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/@jest/environment-jsdom-abstract": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" }, "engines": { - "node": "*" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" + "peerDependencies": { + "canvas": "^3.0.0", + "jsdom": "*" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "dev": true, + "node_modules/@jest/expect": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "expect": "30.2.0", + "jest-snapshot": "30.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "dev": true, + "node_modules/@jest/expect-utils": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@jest/get-type": "30.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, + "node_modules/@jest/fake-timers": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@jest/types": "30.2.0", + "@sinonjs/fake-timers": "^13.0.0", + "@types/node": "*", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "dev": true, + "node_modules/@jest/get-type": { + "version": "30.1.0", "license": "MIT", "engines": { - "node": ">= 4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", + "node_modules/@jest/globals": { + "version": "30.2.0", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/types": "30.2.0", + "jest-mock": "30.2.0" }, "engines": { - "node": "*" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "dev": true, + "node_modules/@jest/pattern": { + "version": "30.0.1", "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "dev": true, - "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" + "@types/node": "*", + "jest-regex-util": "30.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@exodus/schemasafe": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@grpc/grpc-js": { - "version": "1.14.3", + "node_modules/@jest/reporters": { + "version": "30.2.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@grpc/proto-loader": "^0.8.0", - "@js-sdsl/ordered-map": "^4.4.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", + "@types/node": "*", + "chalk": "^4.1.2", + "collect-v8-coverage": "^1.0.2", + "exit-x": "^0.2.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^5.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", + "slash": "^3.0.0", + "string-length": "^4.0.2", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=12.10.0" - } - }, - "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { - "version": "0.8.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.5.3", - "yargs": "^17.7.2" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, - "engines": { - "node": ">=6" + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.15", + "node_modules/@jest/reporters/node_modules/glob": { + "version": "10.5.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", + "node_modules/@jest/reporters/node_modules/lru-cache": { + "version": "10.4.3", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } + "license": "ISC" }, - "node_modules/@humanfs/node": { - "version": "0.16.7", + "node_modules/@jest/reporters/node_modules/path-scurry": { + "version": "1.11.1", "dev": true, - "license": "Apache-2.0", + "license": "BlueOak-1.0.0", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" + "node": ">=16 || 14 >=14.18" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" + "node_modules/@jest/schemas": { + "version": "30.0.5", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@inquirer/external-editor": { - "version": "1.0.3", - "dev": true, + "node_modules/@jest/snapshot-utils": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "natural-compare": "^1.4.0" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@internal/datastore": { - "resolved": "internal/datastore", - "link": true - }, - "node_modules/@internal/helpers": { - "resolved": "internal/helpers", - "link": true - }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", + "node_modules/@jest/source-map": { + "version": "30.0.1", "dev": true, "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "callsites": "^3.1.0", + "graceful-fs": "^4.2.11" + }, "engines": { - "node": "20 || >=22" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.1", + "node_modules/@jest/test-result": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "@isaacs/balanced-match": "^4.0.1" + "@jest/console": "30.2.0", + "@jest/types": "30.2.0", + "@types/istanbul-lib-coverage": "^2.0.6", + "collect-v8-coverage": "^1.0.2" }, "engines": { - "node": "20 || >=22" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@isaacs/cliui": { - "version": "9.0.0", + "node_modules/@jest/test-sequencer": { + "version": "30.2.0", "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "license": "ISC", + "license": "MIT", "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@jest/test-result": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", + "node_modules/@jest/transform": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "sprintf-js": "~1.0.2" + "@babel/core": "^7.27.4", + "@jest/types": "30.2.0", + "@jridgewell/trace-mapping": "^0.3.25", + "babel-plugin-istanbul": "^7.0.1", + "chalk": "^4.1.2", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "micromatch": "^4.0.8", + "pirates": "^4.0.7", + "slash": "^3.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", + "node_modules/@jest/types": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@jest/pattern": "30.0.1", + "@jest/schemas": "30.0.5", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.2", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" - }, + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", "license": "MIT", "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "dev": true, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "license": "MIT" + }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "dev": true, "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, "engines": { - "node": ">=8" + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/@jsep-plugin/ternary": { + "version": "1.1.4", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/@jest/console": { - "version": "30.2.0", + "node_modules/@nestjs/axios": { + "version": "4.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "axios": "^1.3.1", + "rxjs": "^7.0.0" } }, - "node_modules/@jest/core": { - "version": "30.2.0", + "node_modules/@nestjs/common": { + "version": "11.1.11", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/pattern": "30.0.1", - "@jest/reporters": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-changed-files": "30.2.0", - "jest-config": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-resolve-dependencies": "30.2.0", - "jest-runner": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "jest-watcher": "30.2.0", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", - "slash": "^3.0.0" + "file-type": "21.2.0", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" }, "peerDependenciesMeta": { - "node-notifier": { + "class-transformer": { + "optional": true + }, + "class-validator": { "optional": true } } }, - "node_modules/@jest/diff-sequences": { - "version": "30.0.1", - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/environment": { - "version": "30.2.0", - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "jest-mock": "30.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } - }, - "node_modules/@jest/environment-jsdom-abstract": { - "version": "30.2.0", + "node_modules/@nestjs/core": { + "version": "11.1.11", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", - "@types/jsdom": "^21.1.7", - "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.3.0", + "tslib": "2.8.1", + "uid": "2.0.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" }, "peerDependencies": { - "canvas": "^3.0.0", - "jsdom": "*" + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" }, "peerDependenciesMeta": { - "canvas": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { "optional": true } } }, - "node_modules/@jest/expect": { - "version": "30.2.0", + "node_modules/@next/eslint-plugin-next": { + "version": "15.5.9", + "dev": true, "license": "MIT", "dependencies": { - "expect": "30.2.0", - "jest-snapshot": "30.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "fast-glob": "3.3.1" } }, - "node_modules/@jest/expect-utils": { - "version": "30.2.0", + "node_modules/@nhsdigital/nhs-notify-event-schemas-letter-rendering": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "@jest/get-type": "30.1.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "zod": "^4.0.17" } }, - "node_modules/@jest/fake-timers": { - "version": "30.2.0", - "license": "MIT", + "node_modules/@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1": { + "name": "@nhsdigital/nhs-notify-event-schemas-letter-rendering", + "version": "1.1.5", "dependencies": { - "@jest/types": "30.2.0", - "@sinonjs/fake-timers": "^13.0.0", - "@types/node": "*", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "@asyncapi/bundler": "^0.6.4", + "zod": "^4.1.11" } }, - "node_modules/@jest/get-type": { - "version": "30.1.0", - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "node_modules/@nhsdigital/nhs-notify-event-schemas-supplier-api": { + "resolved": "internal/events", + "link": true }, - "node_modules/@jest/globals": { - "version": "30.2.0", + "node_modules/@nhsdigital/notify-supplier-api-consumer-contracts": { + "resolved": "pact-contracts", + "link": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/types": "30.2.0", - "jest-mock": "30.2.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 8" } }, - "node_modules/@jest/pattern": { - "version": "30.0.1", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-regex-util": "30.0.1" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 8" } }, - "node_modules/@jest/reporters": { - "version": "30.2.0", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, "license": "MIT", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@jridgewell/trace-mapping": "^0.3.25", - "@types/node": "*", - "chalk": "^4.1.2", - "collect-v8-coverage": "^1.0.2", - "exit-x": "^0.2.2", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^5.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", - "slash": "^3.0.0", - "string-length": "^4.0.2", - "v8-to-istanbul": "^9.0.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 8" + } + }, + "node_modules/@nolyfill/is-core-module": { + "version": "1.0.39", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@nuxt/opencollective": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "bin": { + "opencollective": "bin/opencollective.js" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "engines": { + "node": "^14.18.0 || >=16.10.0", + "npm": ">=5.10.0" } }, - "node_modules/@jest/reporters/node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", "dev": true, - "license": "ISC", + "license": "MIT", "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" + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" }, "engines": { - "node": ">=12" + "node": ">=8.0.0", + "npm": ">=5.0.0" } }, - "node_modules/@jest/reporters/node_modules/ansi-regex": { - "version": "6.2.2", + "node_modules/@nuxtjs/opencollective/node_modules/consola": { + "version": "2.15.3", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/@openapitools/openapi-generator-cli": { + "version": "2.27.0", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@nestjs/axios": "4.0.1", + "@nestjs/common": "11.1.11", + "@nestjs/core": "11.1.11", + "@nuxtjs/opencollective": "0.3.2", + "axios": "1.13.2", + "chalk": "4.1.2", + "commander": "8.3.0", + "compare-versions": "6.1.1", + "concurrently": "9.2.1", + "console.table": "0.10.0", + "fs-extra": "11.3.3", + "glob": "13.0.0", + "inquirer": "8.2.7", + "proxy-agent": "6.5.0", + "reflect-metadata": "0.2.2", + "rxjs": "7.8.2", + "tslib": "2.8.1" + }, + "bin": { + "openapi-generator-cli": "main.js" + }, "engines": { - "node": ">=12" + "node": ">=16" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/openapi_generator" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "6.2.3", + "node_modules/@opentelemetry/api": { + "version": "1.9.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "10.5.0", + "node_modules/@opentelemetry/api-logs": { + "version": "0.53.0", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "@opentelemetry/api": "^1.0.0" }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "1.26.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/reporters/node_modules/jackspeak": { - "version": "3.4.3", + "node_modules/@opentelemetry/core": { + "version": "1.26.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "Apache-2.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@opentelemetry/semantic-conventions": "1.27.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=14" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/reporters/node_modules/lru-cache": { - "version": "10.4.3", + "node_modules/@opentelemetry/exporter-trace-otlp-http": { + "version": "0.53.0", "dev": true, - "license": "ISC" + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "1.26.0", + "@opentelemetry/otlp-exporter-base": "0.53.0", + "@opentelemetry/otlp-transformer": "0.53.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "9.0.5", + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.53.0", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^2.0.1" + "@opentelemetry/core": "1.26.0", + "@opentelemetry/otlp-transformer": "0.53.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@jest/reporters/node_modules/path-scurry": { - "version": "1.11.1", + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.53.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "Apache-2.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "@opentelemetry/api-logs": "0.53.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-logs": "0.53.0", + "@opentelemetry/sdk-metrics": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "protobufjs": "^7.3.0" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@jest/reporters/node_modules/string-width": { - "version": "5.1.2", + "node_modules/@opentelemetry/propagator-b3": { + "version": "1.26.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@opentelemetry/core": "1.26.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/reporters/node_modules/strip-ansi": { - "version": "7.1.2", + "node_modules/@opentelemetry/propagator-jaeger": { + "version": "1.26.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" + "@opentelemetry/core": "1.26.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/reporters/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/@opentelemetry/resources": { + "version": "1.26.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@opentelemetry/core": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" }, "engines": { - "node": ">=12" + "node": ">=14" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/schemas": { - "version": "30.0.5", - "license": "MIT", + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.53.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sinclair/typebox": "^0.34.0" + "@opentelemetry/api-logs": "0.53.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, - "node_modules/@jest/snapshot-utils": { - "version": "30.2.0", - "license": "MIT", + "node_modules/@opentelemetry/sdk-metrics": { + "version": "1.26.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jest/types": "30.2.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "natural-compare": "^1.4.0" + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@jest/source-map": { - "version": "30.0.1", + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.26.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "callsites": "^3.1.0", - "graceful-fs": "^4.2.11" + "@opentelemetry/core": "1.26.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/test-result": { - "version": "30.2.0", + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "1.26.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@jest/console": "30.2.0", - "@jest/types": "30.2.0", - "@types/istanbul-lib-coverage": "^2.0.6", - "collect-v8-coverage": "^1.0.2" + "@opentelemetry/context-async-hooks": "1.26.0", + "@opentelemetry/core": "1.26.0", + "@opentelemetry/propagator-b3": "1.26.0", + "@opentelemetry/propagator-jaeger": "1.26.0", + "@opentelemetry/sdk-trace-base": "1.26.0", + "semver": "^7.5.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "30.2.0", + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.27.0", "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "30.2.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "slash": "^3.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" } }, - "node_modules/@jest/transform": { - "version": "30.2.0", + "node_modules/@pact-foundation/pact": { + "version": "16.0.4", "license": "MIT", "dependencies": { - "@babel/core": "^7.27.4", - "@jest/types": "30.2.0", - "@jridgewell/trace-mapping": "^0.3.25", - "babel-plugin-istanbul": "^7.0.1", - "chalk": "^4.1.2", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "micromatch": "^4.0.8", - "pirates": "^4.0.7", - "slash": "^3.0.0", - "write-file-atomic": "^5.0.1" + "@pact-foundation/pact-core": "^17.0.2", + "axios": "^1.12.2", + "body-parser": "^2.2.0", + "chalk": "4.1.2", + "express": "^5.1.0", + "graphql": "^16.11.0", + "graphql-tag": "^2.12.6", + "http-proxy": "^1.18.1", + "https-proxy-agent": "^7.0.6", + "js-base64": "^3.7.8", + "lodash": "^4.17.21", + "ramda": "^0.32.0", + "randexp": "^0.5.3", + "router": "^2.2.0", + "stack-utils": "^2.0.6" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=20" } }, - "node_modules/@jest/types": { - "version": "30.2.0", + "node_modules/@pact-foundation/pact-core": { + "version": "17.1.0", + "cpu": [ + "x64", + "ia32", + "arm64" + ], "license": "MIT", + "os": [ + "darwin", + "linux", + "win32" + ], "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", - "@types/istanbul-lib-coverage": "^2.0.6", - "@types/istanbul-reports": "^3.0.4", - "@types/node": "*", - "@types/yargs": "^17.0.33", - "chalk": "^4.1.2" + "check-types": "11.2.3", + "detect-libc": "^2.0.3", + "node-gyp-build": "^4.6.0", + "pino": "^10.0.0", + "pino-pretty": "^13.1.1", + "underscore": "1.13.7" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=20" + }, + "optionalDependencies": { + "@pact-foundation/pact-core-darwin-arm64": "17.1.0", + "@pact-foundation/pact-core-darwin-x64": "17.1.0", + "@pact-foundation/pact-core-linux-arm64-glibc": "17.1.0", + "@pact-foundation/pact-core-linux-arm64-musl": "17.1.0", + "@pact-foundation/pact-core-linux-x64-glibc": "17.1.0", + "@pact-foundation/pact-core-linux-x64-musl": "17.1.0", + "@pact-foundation/pact-core-windows-x64": "17.1.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", + "node_modules/@pact-foundation/pact-core-linux-x64-glibc": { + "version": "17.1.0", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", + "node_modules/@pact-foundation/pact-core-linux-x64-musl": { + "version": "17.1.0", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pinojs/redact": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", + "node_modules/@pkgr/core": { + "version": "0.2.9", "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "license": "MIT" + "node_modules/@playwright/test": { + "version": "1.57.0", + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "license": "MIT", + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" } }, - "node_modules/@js-sdsl/ordered-map": { - "version": "4.4.2", + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@redocly/ajv": { + "version": "8.17.1", "dev": true, "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "license": "MIT" - }, - "node_modules/@jsep-plugin/assignment": { - "version": "1.3.0", + "node_modules/@redocly/cli": { + "version": "1.31.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.16.0" + "dependencies": { + "@opentelemetry/api": "1.9.0", + "@opentelemetry/exporter-trace-otlp-http": "0.53.0", + "@opentelemetry/resources": "1.26.0", + "@opentelemetry/sdk-trace-node": "1.26.0", + "@opentelemetry/semantic-conventions": "1.27.0", + "@redocly/openapi-core": "1.31.0", + "abort-controller": "^3.0.0", + "chokidar": "^3.5.1", + "colorette": "^1.2.0", + "core-js": "^3.32.1", + "dotenv": "^16.4.7", + "form-data": "^4.0.0", + "get-port-please": "^3.0.1", + "glob": "^7.1.6", + "handlebars": "^4.7.6", + "mobx": "^6.0.4", + "pluralize": "^8.0.0", + "react": "^17.0.0 || ^18.2.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0", + "redoc": "2.4.0", + "semver": "^7.5.2", + "simple-websocket": "^9.0.0", + "styled-components": "^6.0.7", + "yargs": "17.0.1" }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" + "bin": { + "openapi": "bin/cli.js", + "redocly": "bin/cli.js" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" } }, - "node_modules/@jsep-plugin/regex": { - "version": "1.0.4", + "node_modules/@redocly/cli/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@jsep-plugin/ternary": { - "version": "1.1.4", + "node_modules/@redocly/cli/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.16.0" - }, - "peerDependencies": { - "jsep": "^0.4.0||^1.0.0" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@lukeed/csprng": { - "version": "1.1.0", + "node_modules/@redocly/cli/node_modules/dotenv": { + "version": "16.4.7", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/@nestjs/axios": { - "version": "4.0.1", + "node_modules/@redocly/cli/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", - "peerDependencies": { - "@nestjs/common": "^10.0.0 || ^11.0.0", - "axios": "^1.3.1", - "rxjs": "^7.0.0" + "license": "ISC", + "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/@nestjs/common": { - "version": "11.1.13", + "node_modules/@redocly/cli/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "file-type": "21.3.0", - "iterare": "1.2.1", - "load-esm": "1.0.3", - "tslib": "2.8.1", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "class-transformer": ">=0.4.1", - "class-validator": ">=0.13.2", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" + "brace-expansion": "^1.1.7" }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } + "engines": { + "node": "*" } }, - "node_modules/@nestjs/core": { - "version": "11.1.13", + "node_modules/@redocly/cli/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, - "hasInstallScript": true, "license": "MIT", "dependencies": { - "@nuxt/opencollective": "0.4.1", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "8.3.0", - "tslib": "2.8.1", - "uid": "2.0.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 20" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^11.0.0", - "@nestjs/microservices": "^11.0.0", - "@nestjs/platform-express": "^11.0.0", - "@nestjs/websockets": "^11.0.0", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@next/eslint-plugin-next": { - "version": "15.5.12", + "node_modules/@redocly/cli/node_modules/yargs": { + "version": "17.0.1", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@nhsdigital/nhs-notify-event-schemas-letter-rendering": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "zod": "^4.0.17" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1": { - "name": "@nhsdigital/nhs-notify-event-schemas-letter-rendering", - "version": "1.1.5", - "dependencies": { - "@asyncapi/bundler": "^0.6.4", - "zod": "^4.1.11" + "node_modules/@redocly/cli/node_modules/yargs-parser": { + "version": "20.2.9", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" } }, - "node_modules/@nhsdigital/nhs-notify-event-schemas-supplier-api": { - "resolved": "internal/events", - "link": true - }, - "node_modules/@nhsdigital/notify-supplier-api-consumer-contracts": { - "resolved": "pact-contracts", - "link": true + "node_modules/@redocly/config": { + "version": "0.20.3", + "dev": true, + "license": "MIT" }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@redocly/openapi-core": { + "version": "1.31.0", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.20.1", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" }, "engines": { - "node": ">= 8" + "node": ">=18.17.0", + "npm": ">=9.5.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@rollup/plugin-commonjs": { + "version": "22.0.2", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" }, "engines": { - "node": ">= 8" + "node": ">= 12.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0" } }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", - "engines": { - "node": ">=12.4.0" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@nuxt/opencollective": { - "version": "0.4.1", + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "consola": "^3.2.3" + "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" }, - "bin": { - "opencollective": "bin/opencollective.js" + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^14.18.0 || >=16.10.0", - "npm": ">=5.10.0" + "node": "*" } }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@nuxtjs/opencollective/node_modules/consola": { - "version": "2.15.3", + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", "dev": true, "license": "MIT" }, - "node_modules/@openapitools/openapi-generator-cli": { - "version": "2.28.2", + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@nestjs/axios": "4.0.1", - "@nestjs/common": "11.1.13", - "@nestjs/core": "11.1.13", - "@nuxtjs/opencollective": "0.3.2", - "axios": "1.13.4", - "chalk": "4.1.2", - "commander": "8.3.0", - "compare-versions": "6.1.1", - "concurrently": "9.2.1", - "console.table": "0.10.0", - "fs-extra": "11.3.3", - "glob": "13.0.1", - "inquirer": "8.2.7", - "proxy-agent": "6.5.0", - "reflect-metadata": "0.2.2", - "rxjs": "7.8.2", - "tslib": "2.8.1" - }, - "bin": { - "openapi-generator-cli": "main.js" - }, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=8.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/openapi_generator" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/glob": { - "version": "13.0.1", + "node_modules/@rtsao/scc": { + "version": "1.1.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.15.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@sap/contracts-provider": { + "resolved": "tests/contracts/provider", + "link": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.34.48", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "license": "BSD-3-Clause", "dependencies": { - "minimatch": "^10.1.2", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18.0.0" } }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/minimatch": { - "version": "10.1.2", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/@smithy/chunked-blob-reader": { + "version": "5.2.0", + "license": "Apache-2.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "tslib": "^2.6.2" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "dev": true, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "4.2.1", "license": "Apache-2.0", + "dependencies": { + "@smithy/util-base64": "^4.3.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.0.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/api-logs": { - "version": "0.53.0", - "dev": true, + "node_modules/@smithy/config-resolver": { + "version": "4.4.6", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api": "^1.0.0" + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-config-provider": "^4.2.0", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/core": { + "version": "3.22.1", "license": "Apache-2.0", - "engines": { - "node": ">=14" + "dependencies": { + "@smithy/middleware-serde": "^4.2.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-stream": "^4.5.11", + "@smithy/util-utf8": "^4.2.0", + "@smithy/uuid": "^1.1.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/core": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/semantic-conventions": "1.27.0" + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/exporter-trace-otlp-http": { - "version": "0.53.0", - "dev": true, + "node_modules/@smithy/eventstream-codec": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0", - "@opentelemetry/otlp-exporter-base": "0.53.0", - "@opentelemetry/otlp-transformer": "0.53.0", - "@opentelemetry/resources": "1.26.0", - "@opentelemetry/sdk-trace-base": "1.26.0" + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^4.12.0", + "@smithy/util-hex-encoding": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "node": ">=18.0.0" } - }, - "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.53.0", - "dev": true, + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0", - "@opentelemetry/otlp-transformer": "0.53.0" + "@smithy/eventstream-serde-universal": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.53.0", - "dev": true, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "4.3.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.53.0", - "@opentelemetry/core": "1.26.0", - "@opentelemetry/resources": "1.26.0", - "@opentelemetry/sdk-logs": "0.53.0", - "@opentelemetry/sdk-metrics": "1.26.0", - "@opentelemetry/sdk-trace-base": "1.26.0", - "protobufjs": "^7.3.0" + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/propagator-b3": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/eventstream-serde-node": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0" + "@smithy/eventstream-serde-universal": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/propagator-jaeger": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0" + "@smithy/eventstream-codec": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/resources": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.3.9", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0", - "@opentelemetry/semantic-conventions": "1.27.0" + "@smithy/protocol-http": "^5.3.8", + "@smithy/querystring-builder": "^4.2.8", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-logs": { - "version": "0.53.0", - "dev": true, + "node_modules/@smithy/hash-blob-browser": { + "version": "4.2.9", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.53.0", - "@opentelemetry/core": "1.26.0", - "@opentelemetry/resources": "1.26.0" + "@smithy/chunked-blob-reader": "^5.2.0", + "@smithy/chunked-blob-reader-native": "^4.2.1", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/hash-node": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0", - "@opentelemetry/resources": "1.26.0" + "@smithy/types": "^4.12.0", + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/hash-stream-node": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.26.0", - "@opentelemetry/resources": "1.26.0", - "@opentelemetry/semantic-conventions": "1.27.0" + "@smithy/types": "^4.12.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-trace-node": { - "version": "1.26.0", - "dev": true, + "node_modules/@smithy/invalid-dependency": { + "version": "4.2.8", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-async-hooks": "1.26.0", - "@opentelemetry/core": "1.26.0", - "@opentelemetry/propagator-b3": "1.26.0", - "@opentelemetry/propagator-jaeger": "1.26.0", - "@opentelemetry/sdk-trace-base": "1.26.0", - "semver": "^7.5.2" + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.27.0", - "dev": true, + "node_modules/@smithy/is-array-buffer": { + "version": "4.2.0", "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact": { - "version": "16.1.0", - "license": "MIT", + "node_modules/@smithy/md5-js": { + "version": "4.2.8", + "license": "Apache-2.0", "dependencies": { - "@pact-foundation/pact-core": "^18.0.0", - "axios": "^1.12.2", - "body-parser": "^2.2.0", - "chalk": "4.1.2", - "express": "^5.1.0", - "graphql": "^16.11.0", - "graphql-tag": "^2.12.6", - "http-proxy": "^1.18.1", - "https-proxy-agent": "^7.0.6", - "js-base64": "^3.7.8", - "lodash": "^4.17.21", - "ramda": "^0.32.0", - "randexp": "^0.5.3", - "router": "^2.2.0", - "stack-utils": "^2.0.6" + "@smithy/types": "^4.12.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=20" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact-core": { - "version": "17.1.0", - "cpu": [ - "x64", - "ia32", - "arm64" - ], - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32" - ], + "node_modules/@smithy/middleware-content-length": { + "version": "4.2.8", + "license": "Apache-2.0", "dependencies": { - "check-types": "11.2.3", - "detect-libc": "^2.0.3", - "node-gyp-build": "^4.6.0", - "pino": "^10.0.0", - "pino-pretty": "^13.1.1", - "underscore": "1.13.7" + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=20" - }, - "optionalDependencies": { - "@pact-foundation/pact-core-darwin-arm64": "17.1.0", - "@pact-foundation/pact-core-darwin-x64": "17.1.0", - "@pact-foundation/pact-core-linux-arm64-glibc": "17.1.0", - "@pact-foundation/pact-core-linux-arm64-musl": "17.1.0", - "@pact-foundation/pact-core-linux-x64-glibc": "17.1.0", - "@pact-foundation/pact-core-linux-x64-musl": "17.1.0", - "@pact-foundation/pact-core-windows-x64": "17.1.0" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact-core-linux-x64-glibc": { - "version": "17.1.0", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pact-foundation/pact-core-linux-x64-musl": { - "version": "17.1.0", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pact-foundation/pact/node_modules/@pact-foundation/pact-core": { - "version": "18.0.0", - "cpu": [ - "x64", - "ia32", - "arm64" - ], - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32" - ], + "node_modules/@smithy/middleware-endpoint": { + "version": "4.4.13", + "license": "Apache-2.0", "dependencies": { - "check-types": "11.2.3", - "detect-libc": "^2.0.3", - "node-gyp-build": "^4.6.0", - "pino": "^10.0.0", - "pino-pretty": "^13.1.1", - "underscore": "1.13.7" + "@smithy/core": "^3.22.1", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-middleware": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=20" - }, - "optionalDependencies": { - "@pact-foundation/pact-core-darwin-arm64": "18.0.0", - "@pact-foundation/pact-core-darwin-x64": "18.0.0", - "@pact-foundation/pact-core-linux-arm64-glibc": "18.0.0", - "@pact-foundation/pact-core-linux-arm64-musl": "18.0.0", - "@pact-foundation/pact-core-linux-x64-glibc": "18.0.0", - "@pact-foundation/pact-core-linux-x64-musl": "18.0.0", - "@pact-foundation/pact-core-windows-x64": "18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/@pact-foundation/pact-core-linux-x64-glibc": { - "version": "18.0.0", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pact-foundation/pact/node_modules/@pact-foundation/pact-core-linux-x64-musl": { - "version": "18.0.0", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@pact-foundation/pact/node_modules/accepts": { - "version": "2.0.0", - "license": "MIT", + "node_modules/@smithy/middleware-retry": { + "version": "4.4.30", + "license": "Apache-2.0", "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" + "@smithy/node-config-provider": "^4.3.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/service-error-classification": "^4.2.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/uuid": "^1.1.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.6" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/content-disposition": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=18" + "node_modules/@smithy/middleware-serde": { + "version": "4.2.9", + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/cookie-signature": { - "version": "1.2.2", - "license": "MIT", + "node_modules/@smithy/middleware-stack": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.6.0" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/express": { - "version": "5.2.1", - "license": "MIT", + "node_modules/@smithy/node-config-provider": { + "version": "4.3.8", + "license": "Apache-2.0", "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/finalhandler": { - "version": "2.1.1", - "license": "MIT", + "node_modules/@smithy/node-http-handler": { + "version": "4.4.9", + "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" + "@smithy/abort-controller": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/querystring-builder": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/fresh": { - "version": "2.0.0", - "license": "MIT", + "node_modules/@smithy/property-provider": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.8" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/merge-descriptors": { - "version": "2.0.0", - "license": "MIT", + "node_modules/@smithy/protocol-http": { + "version": "5.3.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=18" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "@smithy/util-uri-escape": "^4.2.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/mime-db": { - "version": "1.54.0", - "license": "MIT", + "node_modules/@smithy/querystring-parser": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/mime-types": { - "version": "3.0.2", - "license": "MIT", + "node_modules/@smithy/service-error-classification": { + "version": "4.2.8", + "license": "Apache-2.0", "dependencies": { - "mime-db": "^1.54.0" + "@smithy/types": "^4.12.0" }, "engines": { - "node": ">=18" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.4.3", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/negotiator": { - "version": "1.0.0", - "license": "MIT", + "node_modules/@smithy/signature-v4": { + "version": "5.3.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^4.2.0", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-uri-escape": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/send": { - "version": "1.2.1", - "license": "MIT", + "node_modules/@smithy/smithy-client": { + "version": "4.11.2", + "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" + "@smithy/core": "^3.22.1", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.12.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=18.0.0" } }, - "node_modules/@pact-foundation/pact/node_modules/serve-static": { - "version": "2.2.1", - "license": "MIT", + "node_modules/@smithy/url-parser": { + "version": "4.2.8", + "license": "Apache-2.0", "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" + "@smithy/querystring-parser": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=18.0.0" } }, - "node_modules/@pinojs/redact": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "dev": true, - "license": "MIT", - "optional": true, + "node_modules/@smithy/util-base64": { + "version": "4.3.0", + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@pkgr/core": { - "version": "0.2.9", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node_modules/@smithy/util-body-length-browser": { + "version": "4.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "url": "https://opencollective.com/pkgr" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@playwright/test": { - "version": "1.58.2", + "node_modules/@smithy/util-body-length-node": { + "version": "4.2.1", "license": "Apache-2.0", "dependencies": { - "playwright": "1.58.2" - }, - "bin": { - "playwright": "cli.js" + "tslib": "^2.6.2" }, "engines": { - "node": ">=18" + "node": ">=18.0.0" } }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/@smithy/util-buffer-from": { + "version": "4.2.0", + "license": "Apache-2.0", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@smithy/is-array-buffer": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@redocly/ajv": { - "version": "8.17.3", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-config-provider": { + "version": "4.2.0", + "license": "Apache-2.0", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "tslib": "^2.6.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli": { - "version": "1.31.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.3.29", + "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api": "1.9.0", - "@opentelemetry/exporter-trace-otlp-http": "0.53.0", - "@opentelemetry/resources": "1.26.0", - "@opentelemetry/sdk-trace-node": "1.26.0", - "@opentelemetry/semantic-conventions": "1.27.0", - "@redocly/openapi-core": "1.31.0", - "abort-controller": "^3.0.0", - "chokidar": "^3.5.1", - "colorette": "^1.2.0", - "core-js": "^3.32.1", - "dotenv": "^16.4.7", - "form-data": "^4.0.0", - "get-port-please": "^3.0.1", - "glob": "^7.1.6", - "handlebars": "^4.7.6", - "mobx": "^6.0.4", - "pluralize": "^8.0.0", - "react": "^17.0.0 || ^18.2.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.2.0 || ^19.0.0", - "redoc": "2.4.0", - "semver": "^7.5.2", - "simple-websocket": "^9.0.0", - "styled-components": "^6.0.7", - "yargs": "17.0.1" - }, - "bin": { - "openapi": "bin/cli.js", - "redocly": "bin/cli.js" + "@smithy/property-provider": "^4.2.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18.17.0", - "npm": ">=9.5.0" + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.2.32", + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@smithy/config-resolver": "^4.4.6", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", + "node_modules/@smithy/util-endpoints": { + "version": "3.2.8", + "license": "Apache-2.0", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/dotenv": { - "version": "16.6.1", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "node_modules/@smithy/util-hex-encoding": { + "version": "4.2.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "url": "https://dotenvx.com" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", + "node_modules/@smithy/util-middleware": { + "version": "4.2.8", + "license": "Apache-2.0", "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" + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/service-error-classification": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", + "node_modules/@smithy/util-stream": { + "version": "4.5.11", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-buffer-from": "^4.2.0", + "@smithy/util-hex-encoding": "^4.2.0", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": "*" + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-uri-escape": { + "version": "4.2.0", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/yargs": { - "version": "17.0.1", - "dev": true, - "license": "MIT", + "node_modules/@smithy/util-utf8": { + "version": "4.2.0", + "license": "Apache-2.0", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "@smithy/util-buffer-from": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, - "node_modules/@redocly/cli/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", + "node_modules/@smithy/util-waiter": { + "version": "4.2.8", + "license": "Apache-2.0", + "dependencies": { + "@smithy/abort-controller": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=18.0.0" } }, - "node_modules/@redocly/config": { - "version": "0.20.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@redocly/openapi-core": { - "version": "1.31.0", - "dev": true, - "license": "MIT", + "node_modules/@smithy/uuid": { + "version": "1.1.0", + "license": "Apache-2.0", "dependencies": { - "@redocly/ajv": "^8.11.2", - "@redocly/config": "^0.20.1", - "colorette": "^1.2.0", - "https-proxy-agent": "^7.0.5", - "js-levenshtein": "^1.1.6", - "js-yaml": "^4.1.0", - "minimatch": "^5.0.1", - "pluralize": "^8.0.0", - "yaml-ast-parser": "0.0.43" + "tslib": "^2.6.2" }, "engines": { - "node": ">=18.17.0", - "npm": ">=9.5.0" + "node": ">=18.0.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "22.0.2", + "node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" }, "engines": { - "node": ">= 12.0.0" + "node": "^12.20 || >= 14.13" }, "peerDependencies": { - "rollup": "^2.68.0" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ajv": ">=8" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/glob": { - "version": "7.2.3", + "node_modules/@stoplight/json": { + "version": "3.21.7", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "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" + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8.3.0" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/@stoplight/json-ref-readers": { + "version": "1.2.2", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" }, "engines": { - "node": "*" + "node": ">=8.3.0" } }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", + "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "MIT", + "license": "0BSD" + }, + "node_modules/@stoplight/json-ref-resolver": { + "version": "3.1.6", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" }, "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=8.3.0" } }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", + "node_modules/@stoplight/json/node_modules/jsonc-parser": { + "version": "2.2.1", "dev": true, "license": "MIT" }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", + "node_modules/@stoplight/json/node_modules/safe-stable-stringify": { + "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "2.3.1", + "node_modules/@stoplight/ordered-object-literal": { + "version": "1.0.5", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=8" } }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.15.0", + "node_modules/@stoplight/path": { + "version": "1.3.2", "dev": true, - "license": "MIT" - }, - "node_modules/@sap/contracts-provider": { - "resolved": "tests/contracts/provider", - "link": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.34.48", - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" + "license": "Apache-2.0", + "engines": { + "node": ">=8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "license": "BSD-3-Clause", + "node_modules/@stoplight/spectral-cli": { + "version": "6.15.0", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sinonjs/commons": "^3.0.1" + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-core": "^1.19.5", + "@stoplight/spectral-formatters": "^1.4.1", + "@stoplight/spectral-parsers": "^1.0.4", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-ruleset-bundler": "^1.6.0", + "@stoplight/spectral-ruleset-migrator": "^1.11.0", + "@stoplight/spectral-rulesets": ">=1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "chalk": "4.1.2", + "fast-glob": "~3.2.12", + "hpagent": "~1.2.0", + "lodash": "~4.17.21", + "pony-cause": "^1.1.1", + "stacktracey": "^2.1.8", + "tslib": "^2.8.1", + "yargs": "~17.7.2" + }, + "bin": { + "spectral": "dist/index.js" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/abort-controller": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-cli/node_modules/fast-glob": { + "version": "3.2.12", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@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": ">=18.0.0" + "node": ">=8.6.0" } }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "5.2.0", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-cli/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "tslib": "^2.6.2" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">= 6" } }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "4.2.1", + "node_modules/@stoplight/spectral-core": { + "version": "1.21.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/util-base64": "^4.3.0", - "tslib": "^2.6.2" + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.17.1", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "^10.3.0", + "lodash": "~4.17.23", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.3", + "pony-cause": "^1.1.1", + "simple-eval": "1.0.1", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/config-resolver": { - "version": "4.4.6", + "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { + "version": "13.6.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.3.8", - "@smithy/types": "^4.12.0", - "@smithy/util-config-provider": "^4.2.0", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "tslib": "^2.6.2" + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" }, "engines": { - "node": ">=18.0.0" + "node": "^12.20 || >=14.13" } }, - "node_modules/@smithy/core": { - "version": "3.22.1", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-core/node_modules/ajv-formats": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/middleware-serde": "^4.2.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-stream": "^4.5.11", - "@smithy/util-utf8": "^4.2.0", - "@smithy/uuid": "^1.1.0", - "tslib": "^2.6.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.3.8", - "@smithy/property-provider": "^4.2.8", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@smithy/eventstream-codec": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-core/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^4.12.0", - "@smithy/util-hex-encoding": "^4.2.0", - "tslib": "^2.6.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=18.0.0" + "node": "*" } }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-formats": { + "version": "1.8.2", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/eventstream-serde-universal": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.2", + "@types/json-schema": "^7.0.7", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "4.3.8", + "node_modules/@stoplight/spectral-formatters": { + "version": "1.5.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/path": "^1.3.2", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.15.0", + "@types/markdown-escape": "^1.1.3", + "chalk": "4.1.2", + "cliui": "7.0.4", + "lodash": "^4.17.21", + "markdown-escape": "^2.0.0", + "node-sarif-builder": "^2.0.3", + "strip-ansi": "6.0", + "text-table": "^0.2.0", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-formatters/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", "dependencies": { - "@smithy/eventstream-serde-universal": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-formatters/node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-codec": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@smithy/fetch-http-handler": { - "version": "5.3.9", + "node_modules/@stoplight/spectral-functions": { + "version": "1.10.1", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^5.3.8", - "@smithy/querystring-builder": "^4.2.8", - "@smithy/types": "^4.12.0", - "@smithy/util-base64": "^4.3.0", - "tslib": "^2.6.2" + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-runtime": "^1.1.2", + "ajv": "^8.17.1", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "lodash": "~4.17.21", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/hash-blob-browser": { - "version": "4.2.9", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-functions/node_modules/ajv-formats": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/chunked-blob-reader": "^5.2.0", - "@smithy/chunked-blob-reader-native": "^4.2.1", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@smithy/hash-node": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-parsers": { + "version": "1.0.5", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml": "~4.3.0", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/hash-stream-node": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { + "version": "14.1.1", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" }, "engines": { - "node": ">=18.0.0" + "node": "^12.20 || >=14.13" } }, - "node_modules/@smithy/invalid-dependency": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-ref-resolver": { + "version": "1.0.5", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/is-array-buffer": { - "version": "4.2.0", + "node_modules/@stoplight/spectral-ruleset-bundler": { + "version": "1.6.3", + "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.6.2" + "@rollup/plugin-commonjs": "~22.0.2", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-core": ">=1", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-functions": ">=1", + "@stoplight/spectral-parsers": ">=1", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-ruleset-migrator": "^1.9.6", + "@stoplight/spectral-rulesets": ">=1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@types/node": "*", + "pony-cause": "1.1.1", + "rollup": "~2.79.2", + "tslib": "^2.8.1", + "validate-npm-package-name": "3.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/md5-js": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-ruleset-migrator": { + "version": "1.11.3", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" + "@stoplight/json": "~3.21.0", + "@stoplight/ordered-object-literal": "~1.0.4", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-functions": "^1.9.1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@stoplight/yaml": "~4.2.3", + "@types/node": "*", + "ajv": "^8.17.1", + "ast-types": "0.14.2", + "astring": "^1.9.0", + "reserved": "0.1.2", + "tslib": "^2.8.1", + "validate-npm-package-name": "3.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/middleware-content-length": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml": { + "version": "4.2.3", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/ordered-object-literal": "^1.0.1", + "@stoplight/types": "^13.0.0", + "@stoplight/yaml-ast-parser": "0.0.48", + "tslib": "^2.2.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10.8" } }, - "node_modules/@smithy/middleware-endpoint": { - "version": "4.4.13", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.48", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/ast-types": { + "version": "0.14.2", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/core": "^3.22.1", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/shared-ini-file-loader": "^4.4.3", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-middleware": "^4.2.8", - "tslib": "^2.6.2" + "tslib": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=4" } }, - "node_modules/@smithy/middleware-retry": { - "version": "4.4.30", + "node_modules/@stoplight/spectral-rulesets": { + "version": "1.22.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.3.8", - "@smithy/protocol-http": "^5.3.8", - "@smithy/service-error-classification": "^4.2.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/uuid": "^1.1.0", - "tslib": "^2.6.2" + "@asyncapi/specs": "^6.8.0", + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-functions": "^1.9.1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@types/json-schema": "^7.0.7", + "ajv": "^8.17.1", + "ajv-formats": "~2.1.1", + "json-schema-traverse": "^1.0.0", + "leven": "3.1.0", + "lodash": "~4.17.21", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/middleware-serde": { - "version": "4.2.9", - "license": "Apache-2.0", + "node_modules/@stoplight/spectral-rulesets/node_modules/ajv-formats": { + "version": "2.1.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@smithy/middleware-stack": { - "version": "4.2.8", + "node_modules/@stoplight/spectral-runtime": { + "version": "1.1.4", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/json": "^3.20.1", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.7.0", + "tslib": "^2.8.1" }, "engines": { - "node": ">=18.0.0" + "node": "^16.20 || ^18.18 || >= 20.17" } }, - "node_modules/@smithy/node-config-provider": { - "version": "4.3.8", + "node_modules/@stoplight/types": { + "version": "13.20.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^4.2.8", - "@smithy/shared-ini-file-loader": "^4.4.3", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" }, "engines": { - "node": ">=18.0.0" + "node": "^12.20 || >=14.13" } }, - "node_modules/@smithy/node-http-handler": { - "version": "4.4.9", + "node_modules/@stoplight/yaml": { + "version": "4.3.0", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^4.2.8", - "@smithy/protocol-http": "^5.3.8", - "@smithy/querystring-builder": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@stoplight/ordered-object-literal": "^1.0.5", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml-ast-parser": "0.0.50", + "tslib": "^2.2.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10.8" } }, - "node_modules/@smithy/property-provider": { - "version": "4.2.8", + "node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.50", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { + "version": "14.1.1", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" }, "engines": { - "node": ">=18.0.0" + "node": "^12.20 || >=14.13" } }, - "node_modules/@smithy/protocol-http": { - "version": "5.3.8", - "license": "Apache-2.0", + "node_modules/@stylistic/eslint-plugin": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@typescript-eslint/utils": "^8.13.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "eslint": ">=8.40.0" } }, - "node_modules/@smithy/querystring-builder": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0", - "@smithy/util-uri-escape": "^4.2.0", - "tslib": "^2.6.2" + "debug": "^4.4.3", + "token-types": "^6.1.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/@smithy/querystring-parser": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/aws-lambda": { + "version": "8.10.160", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@smithy/service-error-classification": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0" - }, - "engines": { - "node": ">=18.0.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.4.3", - "license": "Apache-2.0", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@smithy/signature-v4": { - "version": "5.3.8", - "license": "Apache-2.0", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/is-array-buffer": "^4.2.0", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "@smithy/util-hex-encoding": "^4.2.0", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-uri-escape": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@babel/types": "^7.28.2" } }, - "node_modules/@smithy/smithy-client": { - "version": "4.11.2", - "license": "Apache-2.0", + "node_modules/@types/docker-modem": { + "version": "3.0.6", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/core": "^3.22.1", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/protocol-http": "^5.3.8", - "@smithy/types": "^4.12.0", - "@smithy/util-stream": "^4.5.11", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/node": "*", + "@types/ssh2": "*" } }, - "node_modules/@smithy/types": { - "version": "4.12.0", - "license": "Apache-2.0", + "node_modules/@types/dockerode": { + "version": "3.3.47", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/docker-modem": "*", + "@types/node": "*", + "@types/ssh2": "*" } }, - "node_modules/@smithy/url-parser": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@types/es-aggregate-error": { + "version": "1.0.6", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/querystring-parser": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/node": "*" } }, - "node_modules/@smithy/util-base64": { - "version": "4.3.0", - "license": "Apache-2.0", + "node_modules/@types/estree": { + "version": "1.0.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "license": "MIT", "dependencies": { - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@smithy/util-body-length-browser": { - "version": "4.2.0", - "license": "Apache-2.0", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@smithy/util-body-length-node": { - "version": "4.2.1", - "license": "Apache-2.0", + "node_modules/@types/jest": { + "version": "30.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "expect": "^30.0.0", + "pretty-format": "^30.0.0" } }, - "node_modules/@smithy/util-buffer-from": { - "version": "4.2.0", - "license": "Apache-2.0", + "node_modules/@types/jsdom": { + "version": "21.1.7", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/is-array-buffer": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/@smithy/util-config-provider": { - "version": "4.2.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "node_modules/@types/json-schema": { + "version": "7.0.15", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-escape": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.2.0", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" } }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.3.29", - "license": "Apache-2.0", + "node_modules/@types/node/node_modules/undici-types": { + "version": "7.16.0", + "license": "MIT" + }, + "node_modules/@types/sarif": { + "version": "2.1.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ssh2": { + "version": "1.15.5", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/property-provider": "^4.2.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/node": "^18.11.18" } }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.2.32", - "license": "Apache-2.0", + "node_modules/@types/ssh2-streams": { + "version": "0.1.13", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/config-resolver": "^4.4.6", - "@smithy/credential-provider-imds": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/property-provider": "^4.2.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/node": "*" } }, - "node_modules/@smithy/util-endpoints": { - "version": "3.2.8", - "license": "Apache-2.0", + "node_modules/@types/ssh2/node_modules/@types/node": { + "version": "18.19.130", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.3.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "undici-types": "~5.26.4" } }, - "node_modules/@smithy/util-hex-encoding": { - "version": "4.2.0", - "license": "Apache-2.0", + "node_modules/@types/ssh2/node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "license": "MIT" + }, + "node_modules/@types/stylis": { + "version": "4.2.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/urijs": { + "version": "1.19.26", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" + "@types/yargs-parser": "*" } }, - "node_modules/@smithy/util-middleware": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/type-utils": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.54.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@smithy/util-retry": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@typescript-eslint/parser": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/service-error-classification": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@smithy/util-stream": { - "version": "4.5.11", - "license": "Apache-2.0", + "node_modules/@typescript-eslint/project-service": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/types": "^4.12.0", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-hex-encoding": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@smithy/util-uri-escape": { - "version": "4.2.0", - "license": "Apache-2.0", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@smithy/util-utf8": { - "version": "4.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^4.2.0", - "tslib": "^2.6.2" - }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@smithy/util-waiter": { - "version": "4.2.8", - "license": "Apache-2.0", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/abort-controller": "^4.2.8", - "@smithy/types": "^4.12.0", - "tslib": "^2.6.2" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@smithy/uuid": { - "version": "1.1.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, + "node_modules/@typescript-eslint/types": { + "version": "8.54.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@stoplight/better-ajv-errors": { - "version": "1.0.3", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.54.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": "^12.20 || >= 14.13" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "ajv": ">=8" + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@stoplight/json": { - "version": "3.21.7", + "node_modules/@typescript-eslint/utils": { + "version": "8.54.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.3", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "jsonc-parser": "~2.2.1", - "lodash": "^4.17.21", - "safe-stable-stringify": "^1.1" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0" }, "engines": { - "node": ">=8.3.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@stoplight/json-ref-readers": { - "version": "1.2.2", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.54.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "node-fetch": "^2.6.0", - "tslib": "^1.14.1" + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": ">=8.3.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "license": "ISC" }, - "node_modules/@stoplight/json-ref-resolver": { - "version": "3.1.6", + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@stoplight/json": "^3.21.0", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^12.3.0 || ^13.0.0", - "@types/urijs": "^1.19.19", - "dependency-graph": "~0.11.0", - "fast-memoize": "^2.5.2", - "immer": "^9.0.6", - "lodash": "^4.17.21", - "tslib": "^2.6.0", - "urijs": "^1.19.11" - }, - "engines": { - "node": ">=8.3.0" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@stoplight/json/node_modules/jsonc-parser": { - "version": "2.2.1", + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@stoplight/json/node_modules/safe-stable-stringify": { - "version": "1.1.1", - "dev": true, + "node_modules/@zeit/schemas": { + "version": "2.36.0", "license": "MIT" }, - "node_modules/@stoplight/ordered-object-literal": { - "version": "1.0.5", + "node_modules/abort-controller": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6.5" } }, - "node_modules/@stoplight/path": { - "version": "1.3.2", - "dev": true, - "license": "Apache-2.0", + "node_modules/accepts": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/@stoplight/spectral-cli": { - "version": "6.15.0", + "node_modules/acorn": { + "version": "8.15.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-core": "^1.19.5", - "@stoplight/spectral-formatters": "^1.4.1", - "@stoplight/spectral-parsers": "^1.0.4", - "@stoplight/spectral-ref-resolver": "^1.0.4", - "@stoplight/spectral-ruleset-bundler": "^1.6.0", - "@stoplight/spectral-ruleset-migrator": "^1.11.0", - "@stoplight/spectral-rulesets": ">=1", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "^13.6.0", - "chalk": "4.1.2", - "fast-glob": "~3.2.12", - "hpagent": "~1.2.0", - "lodash": "~4.17.21", - "pony-cause": "^1.1.1", - "stacktracey": "^2.1.8", - "tslib": "^2.8.1", - "yargs": "~17.7.2" - }, + "license": "MIT", "bin": { - "spectral": "dist/index.js" + "acorn": "bin/acorn" }, "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "node": ">=0.4.0" } }, - "node_modules/@stoplight/spectral-cli/node_modules/fast-glob": { - "version": "3.2.12", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", "dev": true, "license": "MIT", "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" + "acorn": "^8.11.0" }, "engines": { - "node": ">=8.6.0" + "node": ">=0.4.0" } }, - "node_modules/@stoplight/spectral-core": { - "version": "1.21.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/agent-base": { + "version": "7.1.4", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "license": "MIT", "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "~3.21.0", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-parsers": "^1.0.0", - "@stoplight/spectral-ref-resolver": "^1.0.4", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "~13.6.0", - "@types/es-aggregate-error": "^1.0.2", - "@types/json-schema": "^7.0.11", - "ajv": "^8.17.1", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.1", - "es-aggregate-error": "^1.0.7", - "jsonpath-plus": "^10.3.0", - "lodash": "~4.17.23", - "lodash.topath": "^4.5.2", - "minimatch": "3.1.2", - "nimma": "0.2.3", - "pony-cause": "^1.1.1", - "simple-eval": "1.0.1", - "tslib": "^2.8.1" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@stoplight/spectral-core/node_modules/@stoplight/types": { - "version": "13.6.0", + "node_modules/ajv-draft-04": { + "version": "1.0.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" }, - "engines": { - "node": "^12.20 || >=14.13" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/ajv-errors": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "peerDependencies": { + "ajv": "^8.0.1" } }, - "node_modules/@stoplight/spectral-core/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/allure-commandline": { + "version": "2.36.0", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "license": "Apache-2.0", + "bin": { + "allure": "bin/allure" } }, - "node_modules/@stoplight/spectral-formats": { - "version": "1.8.2", - "dev": true, + "node_modules/allure-js-commons": { + "version": "3.4.5", "license": "Apache-2.0", "dependencies": { - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.19.2", - "@types/json-schema": "^7.0.7", - "tslib": "^2.8.1" + "md5": "^2.3.0" }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "peerDependencies": { + "allure-playwright": "3.4.5" + }, + "peerDependenciesMeta": { + "allure-playwright": { + "optional": true + } } }, - "node_modules/@stoplight/spectral-formatters": { - "version": "1.5.0", - "dev": true, + "node_modules/allure-playwright": { + "version": "3.4.5", + "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@stoplight/path": "^1.3.2", - "@stoplight/spectral-core": "^1.19.4", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "^13.15.0", - "@types/markdown-escape": "^1.1.3", - "chalk": "4.1.2", - "cliui": "7.0.4", - "lodash": "^4.17.21", - "markdown-escape": "^2.0.0", - "node-sarif-builder": "^2.0.3", - "strip-ansi": "6.0", - "text-table": "^0.2.0", - "tslib": "^2.8.1" + "allure-js-commons": "3.4.5" }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "peerDependencies": { + "@playwright/test": ">=1.53.0" } }, - "node_modules/@stoplight/spectral-formatters/node_modules/cliui": { - "version": "7.0.4", - "dev": true, + "node_modules/ansi-align": { + "version": "3.0.1", "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "string-width": "^4.1.0" } }, - "node_modules/@stoplight/spectral-formatters/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/ansi-colors": { + "version": "4.1.3", "dev": 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": ">=6" } }, - "node_modules/@stoplight/spectral-functions": { - "version": "1.10.1", + "node_modules/ansi-escapes": { + "version": "4.3.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.1", - "@stoplight/spectral-core": "^1.19.4", - "@stoplight/spectral-formats": "^1.8.1", - "@stoplight/spectral-runtime": "^1.1.2", - "ajv": "^8.17.1", - "ajv-draft-04": "~1.0.0", - "ajv-errors": "~3.0.0", - "ajv-formats": "~2.1.1", - "lodash": "~4.17.21", - "tslib": "^2.8.1" + "type-fest": "^0.21.3" }, "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" - } - }, - "node_modules/@stoplight/spectral-parsers": { - "version": "1.0.5", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@stoplight/json": "~3.21.0", - "@stoplight/types": "^14.1.1", - "@stoplight/yaml": "~4.3.0", - "tslib": "^2.8.1" + "node": ">=8" }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { - "version": "14.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", "engines": { - "node": "^12.20 || >=14.13" + "node": ">=8" } }, - "node_modules/@stoplight/spectral-ref-resolver": { - "version": "1.0.5", - "dev": true, - "license": "Apache-2.0", + "node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", "dependencies": { - "@stoplight/json-ref-readers": "1.2.2", - "@stoplight/json-ref-resolver": "~3.1.6", - "@stoplight/spectral-runtime": "^1.1.2", - "dependency-graph": "0.11.0", - "tslib": "^2.8.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" - } - }, - "node_modules/@stoplight/spectral-ruleset-bundler": { - "version": "1.6.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@rollup/plugin-commonjs": "~22.0.2", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-core": ">=1", - "@stoplight/spectral-formats": "^1.8.1", - "@stoplight/spectral-functions": ">=1", - "@stoplight/spectral-parsers": ">=1", - "@stoplight/spectral-ref-resolver": "^1.0.4", - "@stoplight/spectral-ruleset-migrator": "^1.9.6", - "@stoplight/spectral-rulesets": ">=1", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "^13.6.0", - "@types/node": "*", - "pony-cause": "1.1.1", - "rollup": "~2.79.2", - "tslib": "^2.8.1", - "validate-npm-package-name": "3.0.0" + "node": ">=8" }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@stoplight/spectral-ruleset-migrator": { - "version": "1.11.3", - "dev": true, - "license": "Apache-2.0", + "node_modules/anymatch": { + "version": "3.1.3", + "license": "ISC", "dependencies": { - "@stoplight/json": "~3.21.0", - "@stoplight/ordered-object-literal": "~1.0.4", - "@stoplight/path": "1.3.2", - "@stoplight/spectral-functions": "^1.9.1", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "^13.6.0", - "@stoplight/yaml": "~4.2.3", - "@types/node": "*", - "ajv": "^8.17.1", - "ast-types": "0.14.2", - "astring": "^1.9.0", - "reserved": "0.1.2", - "tslib": "^2.8.1", - "validate-npm-package-name": "3.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "node": ">= 8" } }, - "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml": { - "version": "4.2.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.1", - "@stoplight/types": "^13.0.0", - "@stoplight/yaml-ast-parser": "0.0.48", - "tslib": "^2.2.0" - }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", "engines": { - "node": ">=10.8" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/@stoplight/yaml-ast-parser": { - "version": "0.0.48", - "dev": true, - "license": "Apache-2.0" + "node_modules/arch": { + "version": "2.2.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" + } + ], + "license": "MIT" }, - "node_modules/@stoplight/spectral-ruleset-migrator/node_modules/ast-types": { - "version": "0.14.2", + "node_modules/archiver": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" }, "engines": { - "node": ">=4" + "node": ">= 14" } }, - "node_modules/@stoplight/spectral-rulesets": { - "version": "1.22.0", + "node_modules/archiver-utils": { + "version": "5.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@asyncapi/specs": "^6.8.0", - "@stoplight/better-ajv-errors": "1.0.3", - "@stoplight/json": "^3.17.0", - "@stoplight/spectral-core": "^1.19.4", - "@stoplight/spectral-formats": "^1.8.1", - "@stoplight/spectral-functions": "^1.9.1", - "@stoplight/spectral-runtime": "^1.1.2", - "@stoplight/types": "^13.6.0", - "@types/json-schema": "^7.0.7", - "ajv": "^8.17.1", - "ajv-formats": "~2.1.1", - "json-schema-traverse": "^1.0.0", - "leven": "3.1.0", - "lodash": "~4.17.21", - "tslib": "^2.8.1" + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "node": ">= 14" } }, - "node_modules/@stoplight/spectral-runtime": { - "version": "1.1.4", + "node_modules/archiver-utils/node_modules/buffer": { + "version": "6.0.3", "dev": true, - "license": "Apache-2.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" + } + ], + "license": "MIT", "dependencies": { - "@stoplight/json": "^3.20.1", - "@stoplight/path": "^1.3.2", - "@stoplight/types": "^13.6.0", - "abort-controller": "^3.0.0", - "lodash": "^4.17.21", - "node-fetch": "^2.7.0", - "tslib": "^2.8.1" - }, - "engines": { - "node": "^16.20 || ^18.18 || >= 20.17" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/@stoplight/types": { - "version": "13.20.0", + "node_modules/archiver-utils/node_modules/events": { + "version": "3.3.0", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, + "license": "MIT", "engines": { - "node": "^12.20 || >=14.13" + "node": ">=0.8.x" } }, - "node_modules/@stoplight/yaml": { - "version": "4.3.0", + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.5.0", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "dependencies": { - "@stoplight/ordered-object-literal": "^1.0.5", - "@stoplight/types": "^14.1.1", - "@stoplight/yaml-ast-parser": "0.0.50", - "tslib": "^2.2.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=10.8" + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@stoplight/yaml-ast-parser": { - "version": "0.0.50", + "node_modules/archiver-utils/node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "license": "Apache-2.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" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { - "version": "14.1.1", + "node_modules/archiver-utils/node_modules/lru-cache": { + "version": "10.4.3", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.4", - "utility-types": "^3.10.0" - }, - "engines": { - "node": "^12.20 || >=14.13" - } + "license": "ISC" }, - "node_modules/@stylistic/eslint-plugin": { - "version": "3.1.0", + "node_modules/archiver-utils/node_modules/path-scurry": { + "version": "1.11.1", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@typescript-eslint/utils": "^8.13.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "estraverse": "^5.3.0", - "picomatch": "^4.0.2" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=16 || 14 >=14.18" }, - "peerDependencies": { - "eslint": ">=8.40.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@tokenizer/inflate": { - "version": "0.4.1", + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.4.3", - "token-types": "^6.1.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", + "node_modules/archiver/node_modules/buffer": { + "version": "6.0.3", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", + "node_modules/archiver/node_modules/events": { + "version": "3.3.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", + "node_modules/archiver/node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/@tsconfig/node22": { - "version": "22.0.5", + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "node_modules/@types/aws-lambda": { - "version": "8.10.160", - "dev": true, + "node_modules/arg": { + "version": "5.0.2", "license": "MIT" }, - "node_modules/@types/babel__core": { - "version": "7.20.5", + "node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", + "node_modules/array-flatten": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.9", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", + "node_modules/array.prototype.findlast": { + "version": "1.2.5", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/docker-modem": { - "version": "3.0.6", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/ssh2": "*" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/dockerode": { - "version": "3.3.47", + "node_modules/array.prototype.flat": { + "version": "1.3.3", "dev": true, "license": "MIT", "dependencies": { - "@types/docker-modem": "*", - "@types/node": "*", - "@types/ssh2": "*" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/es-aggregate-error": { - "version": "1.0.6", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/estree": { - "version": "1.0.8", + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "dev": true, "license": "MIT", "dependencies": { - "@types/istanbul-lib-report": "*" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/jest": { - "version": "30.0.0", + "node_modules/as-table": { + "version": "1.0.55", "dev": true, "license": "MIT", "dependencies": { - "expect": "^30.0.0", - "pretty-format": "^30.0.0" + "printable-characters": "^1.0.42" } }, - "node_modules/@types/jsdom": { - "version": "21.1.7", + "node_modules/asn1": { + "version": "0.2.6", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "safer-buffer": "~2.1.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/markdown-escape": { - "version": "1.1.3", + "node_modules/ast-types": { + "version": "0.13.4", "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.2.2", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/node/node_modules/undici-types": { - "version": "7.16.0", - "license": "MIT" - }, - "node_modules/@types/sarif": { - "version": "2.1.7", + "node_modules/ast-types-flow": { + "version": "0.0.8", "dev": true, "license": "MIT" }, - "node_modules/@types/ssh2": { - "version": "1.15.5", + "node_modules/astring": { + "version": "1.9.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "^18.11.18" + "bin": { + "astring": "bin/astring" } }, - "node_modules/@types/ssh2-streams": { - "version": "0.1.13", + "node_modules/async": { + "version": "3.2.6", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, - "node_modules/@types/ssh2/node_modules/@types/node": { - "version": "18.19.130", + "node_modules/async-function": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/ssh2/node_modules/undici-types": { - "version": "5.26.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "license": "MIT" - }, - "node_modules/@types/stylis": { - "version": "4.2.7", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", + "node_modules/async-lock": { + "version": "1.4.1", "dev": true, "license": "MIT" }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/@types/urijs": { - "version": "1.19.26", - "dev": true, + "node_modules/asynckit": { + "version": "0.4.0", "license": "MIT" }, - "node_modules/@types/yargs": { - "version": "17.0.35", + "node_modules/atomic-sleep": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "dev": true, + "node_modules/available-typed-arrays": { + "version": "1.0.7", "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.54.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.54.0", - "dev": true, - "license": "MIT", + "node_modules/aws-embedded-metrics": { + "version": "4.2.1", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3" + "@datastructures-js/heap": "^4.0.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">=10.0.0" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.54.0", - "dev": true, + "node_modules/aws-lambda": { + "version": "1.0.6", "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "aws-sdk": "*", + "commander": "^3.0.2", + "js-yaml": "^3.13.1", + "watchpack": "^2.0.0-beta.10" }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "bin": { + "lambda": "bin/lambda" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.54.0", - "dev": true, + "node_modules/aws-lambda/node_modules/argparse": { + "version": "1.0.10", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aws-lambda/node_modules/commander": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/aws-lambda/node_modules/js-yaml": { + "version": "3.14.2", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/aws-sdk": { + "version": "2.1693.0", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.16.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "util": "^0.12.4", + "uuid": "8.0.0", + "xml2js": "0.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", + "node_modules/axe-core": { + "version": "4.11.1", "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.13.5", "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, + "node": ">= 0.4" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "dev": true, + "license": "Apache-2.0", "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.54.0", + "node_modules/babel-jest": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "@jest/transform": "30.2.0", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.2.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@babel/core": "^7.11.0 || ^8.0.0-0" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.54.0", + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "30.2.0", "dev": true, "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.54.0", + "node_modules/babel-preset-jest": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "babel-plugin-jest-hoist": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.54.0", + "node_modules/bare-fs": { + "version": "4.5.3", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "optional": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bare": ">=1.16.0" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.54.0", + "node_modules/bare-os": { + "version": "3.6.2", "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" - }, + "license": "Apache-2.0", + "optional": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bare": ">=1.14.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "license": "ISC" + "node_modules/bare-path": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "cpu": [ - "x64" - ], + "node_modules/bare-stream": { + "version": "2.7.0", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "cpu": [ - "x64" - ], + "node_modules/bare-url": { + "version": "2.3.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "bare-path": "^3.0.0" + } }, - "node_modules/@zeit/schemas": { - "version": "2.36.0", + "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" + } + ], "license": "MIT" }, - "node_modules/abort-controller": { - "version": "3.0.0", + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/basic-ftp": { + "version": "5.1.0", "dev": true, "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, "engines": { - "node": ">=6.5" + "node": ">=10.0.0" } }, - "node_modules/accepts": { - "version": "1.3.8", - "license": "MIT", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "tweetnacl": "^0.14.3" } }, - "node_modules/acorn": { - "version": "8.15.0", + "node_modules/binary-extensions": { + "version": "2.3.0", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", + "node_modules/bl": { + "version": "4.1.0", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.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" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "dev": true, + "node_modules/bowser": { + "version": "2.13.1", + "license": "MIT" + }, + "node_modules/boxen": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "acorn": "^8.11.0" + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/agent-base": { - "version": "7.1.4", + "node_modules/boxen/node_modules/ansi-regex": { + "version": "6.2.2", "license": "MIT", "engines": { - "node": ">= 14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ajv": { - "version": "8.17.1", + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.3", "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "engines": { + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ajv-draft-04": { - "version": "1.0.0", - "dev": true, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", "license": "MIT", - "peerDependencies": { - "ajv": "^8.5.0" + "engines": { + "node": ">=14.16" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ajv-errors": { - "version": "3.0.0", - "dev": true, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", "license": "MIT", - "peerDependencies": { - "ajv": "^8.0.1" + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "dev": true, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", "license": "MIT", "dependencies": { - "ajv": "^8.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, - "peerDependencies": { - "ajv": "^8.0.0" + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/allure-commandline": { - "version": "2.36.0", - "dev": true, - "license": "Apache-2.0", - "bin": { - "allure": "bin/allure" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/allure-js-commons": { - "version": "3.4.5", - "license": "Apache-2.0", + "node_modules/boxen/node_modules/strip-ansi": { + "version": "7.1.2", + "license": "MIT", "dependencies": { - "md5": "^2.3.0" + "ansi-regex": "^6.0.1" }, - "peerDependencies": { - "allure-playwright": "3.4.5" + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "allure-playwright": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/allure-playwright": { - "version": "3.4.5", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "allure-js-commons": "3.4.5" + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" }, - "peerDependencies": { - "@playwright/test": ">=1.53.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "license": "ISC", + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", "dependencies": { - "string-width": "^4.1.0" + "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/ansi-colors": { - "version": "4.1.3", + "node_modules/brace-expansion": { + "version": "2.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, + "node_modules/braces": { + "version": "3.0.3", "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/browserslist": { + "version": "4.28.1", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, "engines": { - "node": ">=8" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/bs-logger": { + "version": "0.2.6", + "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 6" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "license": "ISC", + "node_modules/bser": { + "version": "2.1.1", + "license": "Apache-2.0", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "license": "MIT", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-crc32": { + "version": "1.0.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8.0.0" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", + "node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/buildcheck": { + "version": "0.0.7", + "dev": true, + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/arch": { - "version": "2.2.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" - } - ], + "node_modules/builtins": { + "version": "1.0.3", + "dev": true, "license": "MIT" }, - "node_modules/archiver": { - "version": "7.0.1", + "node_modules/byline": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "archiver-utils": "^5.0.2", - "async": "^3.2.4", - "buffer-crc32": "^1.0.0", - "readable-stream": "^4.0.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^3.0.0", - "zip-stream": "^6.0.1" - }, "engines": { - "node": ">= 14" + "node": ">=0.10.0" } }, - "node_modules/archiver-utils": { - "version": "5.0.2", - "dev": true, + "node_modules/bytes": { + "version": "3.1.2", "license": "MIT", - "dependencies": { - "glob": "^10.0.0", - "graceful-fs": "^4.2.0", - "is-stream": "^2.0.1", - "lazystream": "^1.0.0", - "lodash": "^4.17.15", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" - }, "engines": { - "node": ">= 14" + "node": ">= 0.8" } }, - "node_modules/archiver-utils/node_modules/@isaacs/cliui": { - "version": "8.0.2", - "dev": true, - "license": "ISC", + "node_modules/call-bind": { + "version": "1.0.8", + "license": "MIT", "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" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/archiver-utils/node_modules/ansi-regex": { - "version": "6.2.2", - "dev": true, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/archiver-utils/node_modules/ansi-styles": { - "version": "6.2.3", - "dev": true, + "node_modules/call-bound": { + "version": "1.0.4", "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/archiver-utils/node_modules/buffer": { - "version": "6.0.3", + "node_modules/call-me-maybe": { + "version": "1.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/callsites": { + "version": "3.1.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" - } - ], "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "engines": { + "node": ">=6" } }, - "node_modules/archiver-utils/node_modules/events": { - "version": "3.3.0", - "dev": true, + "node_modules/camelcase": { + "version": "5.3.1", "license": "MIT", "engines": { - "node": ">=0.8.x" + "node": ">=6" } }, - "node_modules/archiver-utils/node_modules/glob": { - "version": "10.5.0", + "node_modules/camelize": { + "version": "1.0.1", "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/archiver-utils/node_modules/ieee754": { - "version": "1.2.1", - "dev": true, + "node_modules/caniuse-lite": { + "version": "1.0.30001767", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "BSD-3-Clause" - }, - "node_modules/archiver-utils/node_modules/jackspeak": { - "version": "3.4.3", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/archiver-utils/node_modules/lru-cache": { - "version": "10.4.3", - "dev": true, - "license": "ISC" + "license": "CC-BY-4.0" }, - "node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.5", - "dev": true, - "license": "ISC", + "node_modules/chalk": { + "version": "4.1.2", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/archiver-utils/node_modules/path-scurry": { - "version": "1.11.1", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/chalk-template": { + "version": "0.4.0", + "license": "MIT", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "chalk": "^4.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk-template?sponsor=1" } }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "4.7.0", + "node_modules/change-case": { + "version": "5.4.4", + "dev": true, + "license": "MIT" + }, + "node_modules/char-regex": { + "version": "1.0.2", "dev": true, "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/archiver-utils/node_modules/string-width": { - "version": "5.1.2", + "node_modules/chardet": { + "version": "2.1.1", "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "license": "MIT" + }, + "node_modules/charenc": { + "version": "0.0.2", + "license": "BSD-3-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/archiver-utils/node_modules/strip-ansi": { - "version": "7.1.2", + "node_modules/check-types": { + "version": "11.2.3", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=12" + "node": ">= 8.10.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/archiver-utils/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 6" } }, - "node_modules/archiver/node_modules/buffer": { - "version": "6.0.3", + "node_modules/chownr": { + "version": "1.1.4", "dev": true, + "license": "ISC" + }, + "node_modules/ci-info": { + "version": "4.4.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" + "url": "https://github.com/sponsors/sibiraj-s" } ], "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "engines": { + "node": ">=8" } }, - "node_modules/archiver/node_modules/events": { - "version": "3.3.0", + "node_modules/cjs-module-lexer": { + "version": "2.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } + "license": "MIT" }, - "node_modules/archiver/node_modules/ieee754": { - "version": "1.2.1", + "node_modules/classnames": { + "version": "2.5.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" - } - ], - "license": "BSD-3-Clause" + "license": "MIT" }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "4.7.0", + "node_modules/clean-regexp": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=4" } }, - "node_modules/arg": { - "version": "5.0.2", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", + "node_modules/clean-regexp/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=0.8.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "dev": true, + "node_modules/cli-boxes": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.9", + "node_modules/cli-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", + "node_modules/cli-spinners": { + "version": "2.9.2", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", + "node_modules/cli-width": { + "version": "3.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, + "license": "ISC", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "dev": true, + "node_modules/clipboardy": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "dev": true, - "license": "MIT", + "node_modules/cliui": { + "version": "8.0.1", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "dev": true, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/arraybuffer.prototype.slice": { + "node_modules/clone": { "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.8" } }, - "node_modules/as-table": { - "version": "1.0.55", + "node_modules/clsx": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "printable-characters": "^1.0.42" + "engines": { + "node": ">=6" } }, - "node_modules/asn1": { - "version": "0.2.6", + "node_modules/co": { + "version": "4.6.0", "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/ast-types": { - "version": "0.13.4", + "node_modules/collect-v8-coverage": { + "version": "1.0.3", "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=4" + "node": ">=7.0.0" } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "dev": true, + "node_modules/color-name": { + "version": "1.1.4", "license": "MIT" }, - "node_modules/astring": { - "version": "1.9.0", + "node_modules/colorette": { + "version": "1.4.0", "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", "license": "MIT", - "bin": { - "astring": "bin/astring" + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/async": { - "version": "3.2.6", + "node_modules/commander": { + "version": "8.3.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 12" + } }, - "node_modules/async-function": { - "version": "1.0.0", + "node_modules/comment-parser": { + "version": "1.4.4", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0" } }, - "node_modules/async-lock": { - "version": "1.4.1", + "node_modules/commondir": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/asynckit": { - "version": "0.4.0", + "node_modules/compare-versions": { + "version": "6.1.1", + "dev": true, "license": "MIT" }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", + "node_modules/compress-commons": { + "version": "6.0.2", + "dev": true, "license": "MIT", "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-embedded-metrics": { - "version": "4.2.1", - "license": "Apache-2.0", - "dependencies": { - "@datastructures-js/heap": "^4.0.2" + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">= 14" } }, - "node_modules/aws-lambda": { - "version": "1.0.6", + "node_modules/compress-commons/node_modules/buffer": { + "version": "6.0.3", + "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" + } + ], "license": "MIT", "dependencies": { - "aws-sdk": "*", - "commander": "^3.0.2", - "js-yaml": "^3.13.1", - "watchpack": "^2.0.0-beta.10" - }, - "bin": { - "lambda": "bin/lambda" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/aws-lambda/node_modules/argparse": { - "version": "1.0.10", + "node_modules/compress-commons/node_modules/events": { + "version": "3.3.0", + "dev": true, "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/aws-lambda/node_modules/commander": { - "version": "3.0.2", - "license": "MIT" + "node_modules/compress-commons/node_modules/ieee754": { + "version": "1.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" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/aws-lambda/node_modules/js-yaml": { - "version": "3.14.2", + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/aws-sdk": { - "version": "2.1693.0", - "hasInstallScript": true, - "license": "Apache-2.0", + "node_modules/compressible": { + "version": "2.0.18", + "license": "MIT", "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.6" } }, - "node_modules/axe-core": { - "version": "4.11.1", - "dev": true, - "license": "MPL-2.0", + "node_modules/compression": { + "version": "1.8.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/axios": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", - "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", - "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "ms": "2.0.0" } }, - "node_modules/axobject-query": { - "version": "4.1.0", - "dev": true, - "license": "Apache-2.0", + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 0.6" } }, - "node_modules/b4a": { - "version": "1.7.3", + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "react-native-b4a": "*" + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" }, - "peerDependenciesMeta": { - "react-native-b4a": { - "optional": true - } + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/babel-jest": { - "version": "30.2.0", + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.2.0", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.2.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-0" + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/babel-plugin-istanbul": { - "version": "7.0.1", - "license": "BSD-3-Clause", - "workspaces": [ - "test/babel-8" - ], - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" - }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.4.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "30.2.0", + "node_modules/console.table": { + "version": "0.10.0", "dev": true, "license": "MIT", "dependencies": { - "@types/babel__core": "^7.20.5" + "easy-table": "1.1.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "> 0.10" } }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", + "node_modules/content-disposition": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" + "engines": { + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/babel-preset-jest": { - "version": "30.2.0", - "dev": true, + "node_modules/content-type": { + "version": "1.0.5", "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "30.2.0", - "babel-preset-current-node-syntax": "^1.2.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + "node": ">= 0.6" } }, - "node_modules/balanced-match": { - "version": "1.0.2", + "node_modules/convert-source-map": { + "version": "2.0.0", "license": "MIT" }, - "node_modules/bare-events": { - "version": "2.8.2", + "node_modules/cookie": { + "version": "0.7.2", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/core-js": { + "version": "3.48.0", "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "bare-abort-controller": "*" - }, - "peerDependenciesMeta": { - "bare-abort-controller": { - "optional": true - } + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/bare-fs": { - "version": "4.5.3", + "node_modules/core-js-compat": { + "version": "3.47.0", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "bare-events": "^2.5.4", - "bare-path": "^3.0.0", - "bare-stream": "^2.6.4", - "bare-url": "^2.2.2", - "fast-fifo": "^1.3.2" - }, - "engines": { - "bare": ">=1.16.0" - }, - "peerDependencies": { - "bare-buffer": "*" + "browserslist": "^4.28.0" }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/bare-os": { - "version": "3.6.2", + "node_modules/core-util-is": { + "version": "1.0.3", "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "bare": ">=1.14.0" - } + "license": "MIT" }, - "node_modules/bare-path": { - "version": "3.0.0", + "node_modules/cpu-features": { + "version": "0.0.10", "dev": true, - "license": "Apache-2.0", + "hasInstallScript": true, "optional": true, "dependencies": { - "bare-os": "^3.0.1" + "buildcheck": "~0.0.6", + "nan": "^2.19.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/bare-stream": { - "version": "2.7.0", + "node_modules/crc-32": { + "version": "1.2.2", "dev": true, "license": "Apache-2.0", - "optional": true, - "dependencies": { - "streamx": "^2.21.0" - }, - "peerDependencies": { - "bare-buffer": "*", - "bare-events": "*" + "bin": { + "crc32": "bin/crc32.njs" }, - "peerDependenciesMeta": { - "bare-buffer": { - "optional": true - }, - "bare-events": { - "optional": true - } + "engines": { + "node": ">=0.8" } }, - "node_modules/bare-url": { - "version": "2.3.2", + "node_modules/crc32-stream": { + "version": "6.0.0", "dev": true, - "license": "Apache-2.0", - "optional": true, + "license": "MIT", "dependencies": { - "bare-path": "^3.0.0" + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/base64-js": { - "version": "1.5.1", + "node_modules/crc32-stream/node_modules/buffer": { + "version": "6.0.3", + "dev": true, "funding": [ { "type": "github", @@ -7266,54 +12434,22 @@ "url": "https://feross.org/support" } ], - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/basic-ftp": { - "version": "5.1.0", - "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/bl": { - "version": "4.1.0", + "node_modules/crc32-stream/node_modules/events": { + "version": "3.3.0", "dev": true, "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", + "node_modules/crc32-stream/node_modules/ieee754": { + "version": "1.2.1", "dev": true, "funding": [ { @@ -7329,3221 +12465,3108 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } + "license": "BSD-3-Clause" }, - "node_modules/body-parser": { - "version": "2.2.2", + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "dev": true, "license": "MIT", "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/bowser": { - "version": "2.14.1", + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, "license": "MIT" }, - "node_modules/boxen": { - "version": "7.0.0", + "node_modules/cross-spawn": { + "version": "7.0.6", "license": "MIT", "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.0", - "chalk": "^5.0.1", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.2.2", - "license": "MIT", + "node_modules/crypt": { + "version": "0.0.2", + "license": "BSD-3-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": "*" } }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "6.2.3", - "license": "MIT", + "node_modules/css-color-keywords": { + "version": "1.0.0", + "dev": true, + "license": "ISC", "engines": { - "node": ">=12" + "node": ">=4" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/cssstyle": { + "version": "4.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=18" } }, - "node_modules/boxen/node_modules/camelcase": { - "version": "7.0.1", + "node_modules/csstype": { + "version": "3.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "dev": true, "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">= 14" + } + }, + "node_modules/data-urls": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=18" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.6.2", + "node_modules/data-view-buffer": { + "version": "1.0.2", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/inspect-js" } }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.1.2", + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "2.19.0", - "license": "(MIT OR CC0-1.0)", + "node_modules/dateformat": { + "version": "3.0.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "*" } }, - "node_modules/boxen/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/debug": { + "version": "4.4.3", "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "ms": "^2.1.3" }, "engines": { - "node": ">=12" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/brace-expansion": { - "version": "2.0.2", + "node_modules/decimal.js": { + "version": "10.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/decko": { + "version": "1.2.0", + "dev": true + }, + "node_modules/dedent": { + "version": "1.7.1", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/braces": { - "version": "3.0.3", + "node_modules/define-data-property": { + "version": "1.1.4", "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/browserslist": { - "version": "4.28.1", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/define-properties": { + "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/bs-logger": { - "version": "0.2.6", + "node_modules/degenerator": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "fast-json-stable-stringify": "2.x" + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" + "node": ">= 14" } }, - "node_modules/buffer": { - "version": "4.9.2", + "node_modules/delayed-stream": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/buffer-crc32": { - "version": "1.0.0", - "dev": true, + "node_modules/depd": { + "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=8.0.0" + "node": ">= 0.8" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/buildcheck": { - "version": "0.0.7", + "node_modules/dependency-graph": { + "version": "0.11.0", "dev": true, - "optional": true, + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">= 0.6.0" } }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "dev": true, + "node_modules/destroy": { + "version": "1.2.0", "license": "MIT", "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/builtins": { - "version": "1.0.3", - "dev": true, - "license": "MIT" + "node_modules/detect-libc": { + "version": "2.1.2", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } }, - "node_modules/byline": { - "version": "5.0.0", + "node_modules/detect-newline": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/bytes": { - "version": "3.1.2", - "license": "MIT", + "node_modules/diff": { + "version": "4.0.4", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.8" + "node": ">=0.3.1" } }, - "node_modules/call-bind": { - "version": "1.0.8", + "node_modules/docker-compose": { + "version": "1.3.1", + "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" + "yaml": "^2.2.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6.0.0" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "license": "MIT", + "node_modules/docker-modem": { + "version": "5.0.6", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "debug": "^4.1.1", + "readable-stream": "^3.5.0", + "split-ca": "^1.0.1", + "ssh2": "^1.15.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.0" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "license": "MIT", + "node_modules/dockerode": { + "version": "4.0.9", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "@balena/dockerignore": "^1.0.2", + "@grpc/grpc-js": "^1.11.1", + "@grpc/proto-loader": "^0.7.13", + "docker-modem": "^5.0.6", + "protobufjs": "^7.3.2", + "tar-fs": "^2.1.4", + "uuid": "^10.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.0" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", + "node_modules/dockerode/node_modules/tar-fs": { + "version": "2.1.4", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } }, - "node_modules/callsites": { - "version": "3.1.0", + "node_modules/dockerode/node_modules/tar-stream": { + "version": "2.2.0", "dev": true, "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, "engines": { "node": ">=6" } }, - "node_modules/camelcase": { - "version": "5.3.1", + "node_modules/dockerode/node_modules/uuid": { + "version": "10.0.0", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/camelize": { - "version": "1.0.1", + "node_modules/dom-serializer": { + "version": "2.0.0", "dev": true, "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001769", + "node_modules/domelementtype": { + "version": "2.3.0", + "dev": true, "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, { "type": "github", - "url": "https://github.com/sponsors/ai" + "url": "https://github.com/sponsors/fb55" } ], - "license": "CC-BY-4.0" + "license": "BSD-2-Clause" }, - "node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/domhandler": { + "version": "5.0.3", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=10" + "node": ">= 4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/chalk-template": { - "version": "0.4.0", - "license": "MIT", + "node_modules/dompurify": { + "version": "3.3.1", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "chalk": "^4.1.2" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "17.2.3", + "license": "BSD-2-Clause", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk-template?sponsor=1" + "url": "https://dotenvx.com" } }, - "node_modules/change-case": { - "version": "5.4.4", - "dev": true, - "license": "MIT" - }, - "node_modules/char-regex": { - "version": "1.0.2", - "dev": true, + "node_modules/drange": { + "version": "1.1.1", "license": "MIT", "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "2.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/charenc": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/check-types": { - "version": "11.2.3", - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "3.6.0", - "dev": true, + "node_modules/dunder-proto": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 0.4" } }, - "node_modules/chownr": { - "version": "1.1.4", - "dev": true, - "license": "ISC" + "node_modules/eastasianwidth": { + "version": "0.2.0", + "license": "MIT" }, - "node_modules/ci-info": { - "version": "4.4.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], + "node_modules/easy-table": { + "version": "1.1.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "optionalDependencies": { + "wcwidth": ">=1.0.1" } }, - "node_modules/cjs-module-lexer": { - "version": "2.2.0", - "dev": true, + "node_modules/ee-first": { + "version": "1.1.1", "license": "MIT" }, - "node_modules/classnames": { - "version": "2.5.1", - "dev": true, - "license": "MIT" + "node_modules/electron-to-chromium": { + "version": "1.5.286", + "license": "ISC" }, - "node_modules/clean-regexp": { - "version": "1.0.0", + "node_modules/emittery": { + "version": "0.13.1", "dev": true, "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/clean-regexp/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } + "node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" }, - "node_modules/cli-boxes": { - "version": "3.0.0", + "node_modules/encodeurl": { + "version": "2.0.0", "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.5", "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" + "once": "^1.4.0" } }, - "node_modules/cli-spinners": { - "version": "2.9.2", + "node_modules/entities": { + "version": "6.0.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=6" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/cli-width": { - "version": "3.0.0", + "node_modules/error-ex": { + "version": "1.3.4", "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10" + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/clipboardy": { - "version": "3.0.0", + "node_modules/es-abstract": { + "version": "1.24.1", + "dev": true, "license": "MIT", "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/es-aggregate-error": { + "version": "1.0.14", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "globalthis": "^1.0.4", + "has-property-descriptors": "^1.0.2", + "set-function-name": "^2.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/clsx": { - "version": "2.1.1", - "dev": true, + "node_modules/es-define-property": { + "version": "1.0.1", "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, + "node_modules/es-errors": { + "version": "1.3.0", "license": "MIT", "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 0.4" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", + "node_modules/es-iterator-helpers": { + "version": "1.2.2", "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "2.0.1", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "safe-array-concat": "^1.1.3" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", + "node_modules/es-object-atoms": { + "version": "1.1.1", "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "es-errors": "^1.3.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" + "node": ">= 0.4" } }, - "node_modules/comment-parser": { - "version": "1.4.5", - "dev": true, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, "engines": { - "node": ">= 12.0.0" + "node": ">= 0.4" } }, - "node_modules/commondir": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/compare-versions": { - "version": "6.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/compress-commons": { - "version": "6.0.2", + "node_modules/es-shim-unscopables": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "crc-32": "^1.2.0", - "crc32-stream": "^6.0.0", - "is-stream": "^2.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^4.0.0" + "hasown": "^2.0.2" }, "engines": { - "node": ">= 14" + "node": ">= 0.4" } }, - "node_modules/compress-commons/node_modules/buffer": { - "version": "6.0.3", + "node_modules/es-to-primitive": { + "version": "1.3.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" - } - ], "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/compress-commons/node_modules/events": { - "version": "3.3.0", - "dev": true, - "license": "MIT", + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, "engines": { - "node": ">=0.8.x" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/compress-commons/node_modules/ieee754": { - "version": "1.2.1", + "node_modules/es6-promise": { + "version": "3.3.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" - } - ], - "license": "BSD-3-Clause" + "license": "MIT" }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "4.7.0", - "dev": true, + "node_modules/esbuild": { + "version": "0.27.2", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "node": ">=18" }, - "engines": { - "node": ">= 0.6" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.2", + "@esbuild/android-arm": "0.27.2", + "@esbuild/android-arm64": "0.27.2", + "@esbuild/android-x64": "0.27.2", + "@esbuild/darwin-arm64": "0.27.2", + "@esbuild/darwin-x64": "0.27.2", + "@esbuild/freebsd-arm64": "0.27.2", + "@esbuild/freebsd-x64": "0.27.2", + "@esbuild/linux-arm": "0.27.2", + "@esbuild/linux-arm64": "0.27.2", + "@esbuild/linux-ia32": "0.27.2", + "@esbuild/linux-loong64": "0.27.2", + "@esbuild/linux-mips64el": "0.27.2", + "@esbuild/linux-ppc64": "0.27.2", + "@esbuild/linux-riscv64": "0.27.2", + "@esbuild/linux-s390x": "0.27.2", + "@esbuild/linux-x64": "0.27.2", + "@esbuild/netbsd-arm64": "0.27.2", + "@esbuild/netbsd-x64": "0.27.2", + "@esbuild/openbsd-arm64": "0.27.2", + "@esbuild/openbsd-x64": "0.27.2", + "@esbuild/openharmony-arm64": "0.27.2", + "@esbuild/sunos-x64": "0.27.2", + "@esbuild/win32-arm64": "0.27.2", + "@esbuild/win32-ia32": "0.27.2", + "@esbuild/win32-x64": "0.27.2" } }, - "node_modules/compression": { - "version": "1.8.1", + "node_modules/esbuild/node_modules/@esbuild/linux-x64": { + "version": "0.27.2", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.8.0" + "node": ">=18" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", + "node_modules/escalade": { + "version": "3.2.0", "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", + "node_modules/escape-html": { + "version": "1.0.3", "license": "MIT" }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/concurrently": { - "version": "9.2.1", + "node_modules/escodegen": { + "version": "2.1.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "chalk": "4.1.2", - "rxjs": "7.8.2", - "shell-quote": "1.8.3", - "supports-color": "8.1.1", - "tree-kill": "1.2.2", - "yargs": "17.7.2" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" }, "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=18" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/eslint": { + "version": "9.39.2", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/confusing-browser-globals": { + "node_modules/eslint-config-airbnb-extended": { "version": "1.0.11", "dev": true, - "license": "MIT" - }, - "node_modules/consola": { - "version": "3.4.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/console.table": { - "version": "0.10.0", - "dev": true, "license": "MIT", "dependencies": { - "easy-table": "1.1.0" + "confusing-browser-globals": "^1.0.11", + "globals": "^16.0.0" }, - "engines": { - "node": "> 0.10" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" + "peerDependencies": { + "@next/eslint-plugin-next": "15.x", + "@stylistic/eslint-plugin": "3.x", + "@types/eslint-plugin-jsx-a11y": "6.x", + "eslint": "9.x", + "eslint-import-resolver-typescript": "4.x", + "eslint-plugin-import-x": "4.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-n": "17.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "5.x", + "typescript-eslint": "8.x" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "peerDependenciesMeta": { + "@next/eslint-plugin-next": { + "optional": true + }, + "@stylistic/eslint-plugin": { + "optional": true + }, + "@types/eslint-plugin-jsx-a11y": { + "optional": true + }, + "eslint": { + "optional": false + }, + "eslint-import-resolver-typescript": { + "optional": false + }, + "eslint-plugin-jsx-a11y": { + "optional": false + }, + "eslint-plugin-n": { + "optional": true + }, + "eslint-plugin-react": { + "optional": true + }, + "eslint-plugin-react-hooks": { + "optional": true + }, + "typescript-eslint": { + "optional": true + } } }, - "node_modules/cookie-signature": { - "version": "1.0.7", - "license": "MIT" - }, - "node_modules/core-js": { - "version": "3.48.0", + "node_modules/eslint-config-airbnb-extended/node_modules/globals": { + "version": "16.5.0", "dev": true, - "hasInstallScript": true, "license": "MIT", + "engines": { + "node": ">=18" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/core-js-compat": { - "version": "3.48.0", + "node_modules/eslint-config-next": { + "version": "15.5.9", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.28.1" + "@next/eslint-plugin-next": "15.5.9", + "@rushstack/eslint-patch": "^1.10.3", + "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/cpu-features": { - "version": "0.0.10", + "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", "dev": true, - "hasInstallScript": true, - "optional": true, + "license": "ISC", "dependencies": { - "buildcheck": "~0.0.6", - "nan": "^2.19.0" + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" }, "engines": { - "node": ">=10.0.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } } }, - "node_modules/crc-32": { - "version": "1.2.2", + "node_modules/eslint-config-prettier": { + "version": "10.1.8", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "bin": { - "crc32": "bin/crc32.njs" + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">=0.8" + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/crc32-stream": { - "version": "6.0.0", + "node_modules/eslint-import-context": { + "version": "0.1.9", "dev": true, "license": "MIT", "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^4.0.0" + "get-tsconfig": "^4.10.1", + "stable-hash-x": "^0.2.0" }, "engines": { - "node": ">= 14" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-context" + }, + "peerDependencies": { + "unrs-resolver": "^1.0.0" + }, + "peerDependenciesMeta": { + "unrs-resolver": { + "optional": true + } } }, - "node_modules/crc32-stream/node_modules/buffer": { - "version": "6.0.3", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", "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" - } - ], "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/crc32-stream/node_modules/events": { - "version": "3.3.0", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.x" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/crc32-stream/node_modules/ieee754": { - "version": "1.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" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/crc32-stream/node_modules/readable-stream": { - "version": "4.7.0", + "node_modules/eslint-import-resolver-typescript": { + "version": "4.4.4", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "debug": "^4.4.1", + "eslint-import-context": "^0.1.8", + "get-tsconfig": "^4.10.1", + "is-bun-module": "^2.0.0", + "stable-hash-x": "^0.2.0", + "tinyglobby": "^0.2.14", + "unrs-resolver": "^1.7.11" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.17.0 || >=18.6.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } } }, - "node_modules/create-require": { - "version": "1.1.1", + "node_modules/eslint-module-utils": { + "version": "2.12.1", "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "debug": "^3.2.7" }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "dev": true, - "license": "ISC", "engines": { "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/css-to-react-native": { - "version": "3.2.0", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" + "ms": "^2.1.1" } }, - "node_modules/cssstyle": { - "version": "4.6.0", + "node_modules/eslint-plugin-html": { + "version": "8.1.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" + "htmlparser2": "^10.0.0" }, "engines": { - "node": ">=18" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" + "node": ">=16.0.0" } }, - "node_modules/data-urls": { - "version": "5.0.0", + "node_modules/eslint-plugin-import": { + "version": "2.32.0", "dev": true, "license": "MIT", "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" }, "engines": { - "node": ">=18" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, - "node_modules/data-view-buffer": { - "version": "1.0.2", + "node_modules/eslint-plugin-import-x": { + "version": "4.16.1", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "@typescript-eslint/types": "^8.35.0", + "comment-parser": "^1.4.1", + "debug": "^4.4.1", + "eslint-import-context": "^0.1.9", + "is-glob": "^4.0.3", + "minimatch": "^9.0.3 || ^10.0.1", + "semver": "^7.7.2", + "stable-hash-x": "^0.2.0", + "unrs-resolver": "^1.9.2" }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "url": "https://opencollective.com/eslint-plugin-import-x" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "@typescript-eslint/utils": "^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "eslint-import-resolver-node": "*" }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" + "peerDependenciesMeta": { + "@typescript-eslint/utils": { + "optional": true + }, + "eslint-import-resolver-node": { + "optional": true + } } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/dateformat": { - "version": "3.0.2", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", "dev": true, "license": "MIT", - "engines": { - "node": "*" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/debug": { - "version": "4.4.3", - "license": "MIT", + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "ms": "^2.1.3" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "*" } }, - "node_modules/decimal.js": { - "version": "10.6.0", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT" - }, - "node_modules/decko": { - "version": "1.2.0", - "dev": true + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/dedent": { - "version": "1.7.1", + "node_modules/eslint-plugin-jest": { + "version": "29.12.2", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.0.0" + }, + "engines": { + "node": "^20.12.0 || ^22.0.0 || >=24.0.0" + }, "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "@typescript-eslint/eslint-plugin": "^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "jest": "*", + "typescript": ">=4.8.4 <6.0.0" }, "peerDependenciesMeta": { - "babel-plugin-macros": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + }, + "typescript": { "optional": true } } }, - "node_modules/deep-extend": { - "version": "0.6.0", + "node_modules/eslint-plugin-json": { + "version": "4.0.1", + "dev": true, "license": "MIT", + "dependencies": { + "lodash": "^4.17.21", + "vscode-json-languageservice": "^4.1.6" + }, "engines": { - "node": ">=4.0.0" + "node": ">=18.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", "dev": true, "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, - "node_modules/defaults": { - "version": "1.0.4", + "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "license": "MIT", + "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/define-properties": { - "version": "1.2.1", + "node_modules/eslint-plugin-no-relative-import-paths": { + "version": "v1.6.1", + "dev": true, + "license": "ISC" + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.5.5", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/degenerator": { - "version": "5.0.1", + "node_modules/eslint-plugin-react": { + "version": "7.37.5", "dev": true, "license": "MIT", "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "license": "MIT", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, - "node_modules/dependency-graph": { - "version": "0.11.0", + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6.0" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/destroy": { - "version": "1.2.0", + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/detect-libc": { - "version": "2.1.2", - "license": "Apache-2.0", + "node_modules/eslint-plugin-react/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/detect-newline": { - "version": "3.1.0", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/diff": { - "version": "4.0.4", + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/docker-compose": { - "version": "1.3.1", + "node_modules/eslint-plugin-security": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "yaml": "^2.2.2" + "safe-regex": "^2.1.1" }, "engines": { - "node": ">= 6.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/docker-modem": { - "version": "5.0.6", + "node_modules/eslint-plugin-sonarjs": { + "version": "3.0.5", "dev": true, - "license": "Apache-2.0", + "license": "LGPL-3.0-only", "dependencies": { - "debug": "^4.1.1", - "readable-stream": "^3.5.0", - "split-ca": "^1.0.1", - "ssh2": "^1.15.0" + "@eslint-community/regexpp": "4.12.1", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils-x": "0.1.0", + "lodash.merge": "4.6.2", + "minimatch": "9.0.5", + "scslre": "0.3.0", + "semver": "7.7.2", + "typescript": ">=5" }, + "peerDependencies": { + "eslint": "^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/dockerode": { - "version": "4.0.9", + "node_modules/eslint-plugin-sonarjs/node_modules/semver": { + "version": "7.7.2", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@balena/dockerignore": "^1.0.2", - "@grpc/grpc-js": "^1.11.1", - "@grpc/proto-loader": "^0.7.13", - "docker-modem": "^5.0.6", - "protobufjs": "^7.3.2", - "tar-fs": "^2.1.4", - "uuid": "^10.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 8.0" + "node": ">=10" } }, - "node_modules/dockerode/node_modules/tar-fs": { - "version": "2.1.4", + "node_modules/eslint-plugin-sort-destructure-keys": { + "version": "2.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "natural-compare-lite": "^1.4.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": "5 - 9" } }, - "node_modules/dockerode/node_modules/tar-stream": { - "version": "2.2.0", + "node_modules/eslint-plugin-unicorn": { + "version": "62.0.0", "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "@babel/helper-validator-identifier": "^7.28.5", + "@eslint-community/eslint-utils": "^4.9.0", + "@eslint/plugin-kit": "^0.4.0", + "change-case": "^5.4.4", + "ci-info": "^4.3.1", + "clean-regexp": "^1.0.0", + "core-js-compat": "^3.46.0", + "esquery": "^1.6.0", + "find-up-simple": "^1.0.1", + "globals": "^16.4.0", + "indent-string": "^5.0.0", + "is-builtin-module": "^5.0.0", + "jsesc": "^3.1.0", + "pluralize": "^8.0.0", + "regexp-tree": "^0.1.27", + "regjsparser": "^0.13.0", + "semver": "^7.7.3", + "strip-indent": "^4.1.1" }, "engines": { - "node": ">=6" + "node": "^20.10.0 || >=21.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + }, + "peerDependencies": { + "eslint": ">=9.38.0" } }, - "node_modules/dockerode/node_modules/uuid": { - "version": "10.0.0", + "node_modules/eslint-plugin-unicorn/node_modules/globals": { + "version": "16.5.0", "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/doctrine": { - "version": "2.1.0", + "node_modules/eslint-scope": { + "version": "8.4.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-2-Clause", "dependencies": { - "esutils": "^2.0.2" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "4.5.0", + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", "dev": true, - "license": "BSD-2-Clause", + "license": "Apache-2.0", "engines": { - "node": ">=0.12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/domelementtype": { - "version": "2.3.0", + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0" - }, + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "license": "MIT", "engines": { "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/dompurify": { - "version": "3.3.1", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } + "license": "MIT" }, - "node_modules/domutils": { - "version": "3.2.2", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": "*" } }, - "node_modules/dotenv": { - "version": "17.2.4", + "node_modules/espree": { + "version": "10.4.0", + "dev": true, "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://opencollective.com/eslint" } }, - "node_modules/drange": { - "version": "1.1.1", - "license": "MIT", + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, "engines": { "node": ">=4" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "license": "MIT", + "node_modules/esquery": { + "version": "1.7.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/easy-table": { - "version": "1.1.0", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", - "optionalDependencies": { - "wcwidth": ">=1.0.1" + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.286", - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", + "node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "node": ">=4.0" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", + "node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, "license": "MIT" }, - "node_modules/encodeurl": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "7.0.1", + "node_modules/esutils": { + "version": "2.0.3", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/error-ex": { - "version": "1.3.4", - "dev": true, + "node_modules/etag": { + "version": "1.8.1", "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/es-abstract": { - "version": "1.24.1", + "node_modules/event-target-shim": { + "version": "5.0.1", "dev": true, "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/es-aggregate-error": { - "version": "1.0.14", - "dev": true, + "node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT" + }, + "node_modules/events": { + "version": "1.1.1", "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "globalthis": "^1.0.4", - "has-property-descriptors": "^1.0.2", - "set-function-name": "^2.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.4.x" } }, - "node_modules/es-define-property": { + "node_modules/events-universal": { "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" } }, - "node_modules/es-errors": { - "version": "1.3.0", + "node_modules/execa": { + "version": "5.1.1", "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/es-iterator-helpers": { - "version": "1.2.2", + "node_modules/exit-x": { + "version": "0.2.2", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.1", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", - "safe-array-concat": "^1.1.3" - }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8.0" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", + "node_modules/expect": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0" + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-util": "30.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", + "node_modules/express": { + "version": "5.2.1", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.4" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", + "node_modules/fast-copy": { + "version": "4.0.2", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "@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": ">= 0.4" + "node": ">=8.6.0" } }, - "node_modules/es-to-primitive": { - "version": "1.3.0", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/es6-promise": { - "version": "3.3.1", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.27.2", - "hasInstallScript": true, + "node_modules/fast-memoize": { + "version": "2.5.2", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fast-xml-parser": { + "version": "5.3.4", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" + "dependencies": { + "strnum": "^2.1.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.2", - "@esbuild/android-arm": "0.27.2", - "@esbuild/android-arm64": "0.27.2", - "@esbuild/android-x64": "0.27.2", - "@esbuild/darwin-arm64": "0.27.2", - "@esbuild/darwin-x64": "0.27.2", - "@esbuild/freebsd-arm64": "0.27.2", - "@esbuild/freebsd-x64": "0.27.2", - "@esbuild/linux-arm": "0.27.2", - "@esbuild/linux-arm64": "0.27.2", - "@esbuild/linux-ia32": "0.27.2", - "@esbuild/linux-loong64": "0.27.2", - "@esbuild/linux-mips64el": "0.27.2", - "@esbuild/linux-ppc64": "0.27.2", - "@esbuild/linux-riscv64": "0.27.2", - "@esbuild/linux-s390x": "0.27.2", - "@esbuild/linux-x64": "0.27.2", - "@esbuild/netbsd-arm64": "0.27.2", - "@esbuild/netbsd-x64": "0.27.2", - "@esbuild/openbsd-arm64": "0.27.2", - "@esbuild/openbsd-x64": "0.27.2", - "@esbuild/openharmony-arm64": "0.27.2", - "@esbuild/sunos-x64": "0.27.2", - "@esbuild/win32-arm64": "0.27.2", - "@esbuild/win32-ia32": "0.27.2", - "@esbuild/win32-x64": "0.27.2" + "bin": { + "fxparser": "src/cli/cli.js" } }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.27.2", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "node_modules/fastq": { + "version": "1.20.1", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/escalade": { - "version": "3.2.0", - "license": "MIT", - "engines": { - "node": ">=6" + "node_modules/fb-watchman": { + "version": "2.0.2", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "license": "MIT" + "node_modules/fdir": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", + "node_modules/figures": { + "version": "3.2.0", "dev": true, "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "2.1.0", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, + "license": "MIT", "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": ">=0.8.0" } }, - "node_modules/eslint": { - "version": "9.39.2", + "node_modules/file-entry-cache": { + "version": "8.0.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "node": ">=16.0.0" } }, - "node_modules/eslint-config-airbnb-extended": { - "version": "1.0.11", + "node_modules/file-type": { + "version": "21.2.0", "dev": true, "license": "MIT", "dependencies": { - "confusing-browser-globals": "^1.0.11", - "globals": "^16.0.0" + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" }, - "peerDependencies": { - "@next/eslint-plugin-next": "15.x", - "@stylistic/eslint-plugin": "3.x", - "@types/eslint-plugin-jsx-a11y": "6.x", - "eslint": "9.x", - "eslint-import-resolver-typescript": "4.x", - "eslint-plugin-import-x": "4.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-n": "17.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "5.x", - "typescript-eslint": "8.x" + "engines": { + "node": ">=20" }, - "peerDependenciesMeta": { - "@next/eslint-plugin-next": { - "optional": true - }, - "@stylistic/eslint-plugin": { - "optional": true - }, - "@types/eslint-plugin-jsx-a11y": { - "optional": true - }, - "eslint": { - "optional": false - }, - "eslint-import-resolver-typescript": { - "optional": false - }, - "eslint-plugin-jsx-a11y": { - "optional": false - }, - "eslint-plugin-n": { - "optional": true - }, - "eslint-plugin-react": { - "optional": true - }, - "eslint-plugin-react-hooks": { - "optional": true - }, - "typescript-eslint": { - "optional": true - } + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/eslint-config-airbnb-extended/node_modules/globals": { - "version": "16.5.0", - "dev": true, + "node_modules/fill-range": { + "version": "7.1.1", "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "to-regex-range": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/eslint-config-next": { - "version": "15.5.12", - "dev": true, + "node_modules/finalhandler": { + "version": "2.1.1", "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "15.5.12", - "@rushstack/eslint-patch": "^1.10.3", - "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^5.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", - "typescript": ">=3.3.1" + "engines": { + "node": ">= 18.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/eslint-config-next/node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-config-prettier": { - "version": "10.1.8", + "node_modules/find-up-simple": { + "version": "1.0.1", "dev": true, "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" + "engines": { + "node": ">=18" }, "funding": { - "url": "https://opencollective.com/eslint-config-prettier" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-context": { - "version": "0.1.9", + "node_modules/flat-cache": { + "version": "4.0.1", "dev": true, "license": "MIT", "dependencies": { - "get-tsconfig": "^4.10.1", - "stable-hash-x": "^0.2.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-context" - }, - "peerDependencies": { - "unrs-resolver": "^1.0.0" + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" }, "peerDependenciesMeta": { - "unrs-resolver": { + "debug": { "optional": true } } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "dev": true, + "node_modules/for-each": { + "version": "0.3.5", "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", + "node_modules/foreach": { + "version": "2.0.6", "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "license": "MIT" }, - "node_modules/eslint-import-resolver-typescript": { - "version": "4.4.4", + "node_modules/foreground-child": { + "version": "3.3.1", "dev": true, "license": "ISC", "dependencies": { - "debug": "^4.4.1", - "eslint-import-context": "^0.1.8", - "get-tsconfig": "^4.10.1", - "is-bun-module": "^2.0.0", - "stable-hash-x": "^0.2.0", - "tinyglobby": "^0.2.14", - "unrs-resolver": "^1.7.11" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^16.17.0 || >=18.6.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", "license": "MIT", "dependencies": { - "debug": "^3.2.7" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">= 6" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-html": { - "version": "8.1.4", - "dev": true, - "license": "ISC", + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", "dependencies": { - "htmlparser2": "^10.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=16.0.0" + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "dev": true, + "node_modules/forwarded": { + "version": "0.2.0", "license": "MIT", - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-import-x": { - "version": "4.16.1", + "node_modules/fresh": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "11.3.3", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "^8.35.0", - "comment-parser": "^1.4.1", - "debug": "^4.4.1", - "eslint-import-context": "^0.1.9", - "is-glob": "^4.0.3", - "minimatch": "^9.0.3 || ^10.0.1", - "semver": "^7.7.2", - "stable-hash-x": "^0.2.0", - "unrs-resolver": "^1.9.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, + "node": ">=14.14" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "license": "MIT", "funding": { - "url": "https://opencollective.com/eslint-plugin-import-x" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^8.0.0", - "eslint": "^8.57.0 || ^9.0.0", - "eslint-import-resolver-node": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/utils": { - "optional": true - }, - "eslint-import-resolver-node": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import-x/node_modules/minimatch": { - "version": "10.1.2", + "node_modules/function.prototype.name": { + "version": "1.1.8", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { - "node": "20 || >=22" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/functions-have-names": { + "version": "1.2.3", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, + "node_modules/generator-function": { + "version": "2.0.1", "license": "MIT", - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", "engines": { - "node": "*" + "node": ">=6.9.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "dev": true, + "node_modules/get-caller-file": { + "version": "2.0.5", "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jest": { - "version": "29.13.0", - "dev": true, + "node_modules/get-intrinsic": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.0.0" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { - "node": "^20.12.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^8.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "jest": "*", - "typescript": ">=4.8.4 <6.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - }, - "typescript": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-json": { - "version": "4.0.1", - "dev": true, + "node_modules/get-package-type": { + "version": "0.1.0", "license": "MIT", - "dependencies": { - "lodash": "^4.17.21", - "vscode-json-languageservice": "^4.1.6" - }, "engines": { - "node": ">=18.0" + "node": ">=8.0.0" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", + "node_modules/get-port": { + "version": "7.1.0", "dev": true, "license": "MIT", - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, "engines": { - "node": ">=4.0" + "node": ">=16" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/get-port-please": { + "version": "3.2.0", "dev": true, + "license": "MIT" + }, + "node_modules/get-proto": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/get-source": { + "version": "2.0.12", "dev": true, - "license": "ISC", + "license": "Unlicense", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" } }, - "node_modules/eslint-plugin-no-relative-import-paths": { - "version": "v1.6.1", + "node_modules/get-source/node_modules/data-uri-to-buffer": { + "version": "2.0.2", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/eslint-plugin-prettier": { - "version": "5.5.5", - "dev": true, + "node_modules/get-stream": { + "version": "6.0.1", "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.1", - "synckit": "^0.11.12" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", + "node_modules/get-symbol-description": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", + "node_modules/get-tsconfig": { + "version": "4.13.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "resolve-pkg-maps": "^1.0.0" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/get-uri": { + "version": "6.0.5", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" }, "engines": { - "node": "*" + "node": ">= 14" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", + "node_modules/glob": { + "version": "13.0.0", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": "20 || >=22" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/eslint-plugin-security": { - "version": "3.0.1", + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "license": "BSD-2-Clause" + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.1.1", "dev": true, - "license": "Apache-2.0", + "license": "BlueOak-1.0.0", "dependencies": { - "safe-regex": "^2.1.1" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "20 || >=22" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/eslint-plugin-sonarjs": { - "version": "3.0.6", + "node_modules/globals": { + "version": "14.0.0", "dev": true, - "license": "LGPL-3.0-only", - "dependencies": { - "@eslint-community/regexpp": "4.12.2", - "builtin-modules": "3.3.0", - "bytes": "3.1.2", - "functional-red-black-tree": "1.0.1", - "jsx-ast-utils-x": "0.1.0", - "lodash.merge": "4.6.2", - "minimatch": "10.1.1", - "scslre": "0.3.0", - "semver": "7.7.3", - "typescript": ">=5" + "license": "MIT", + "engines": { + "node": ">=18" }, - "peerDependencies": { - "eslint": "^8.0.0 || ^9.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-sonarjs/node_modules/minimatch": { - "version": "10.1.1", + "node_modules/globalthis": { + "version": "1.0.4", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { - "node": "20 || >=22" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-sonarjs/node_modules/semver": { - "version": "7.7.3", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node_modules/gopd": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/graphql": { + "version": "16.12.0", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, - "node_modules/eslint-plugin-sort-destructure-keys": { - "version": "2.0.0", - "dev": true, - "license": "ISC", + "node_modules/graphql-tag": { + "version": "2.12.6", + "license": "MIT", "dependencies": { - "natural-compare-lite": "^1.4.0" + "tslib": "^2.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "peerDependencies": { - "eslint": "5 - 9" + "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/eslint-plugin-unicorn": { - "version": "62.0.0", + "node_modules/handlebars": { + "version": "4.7.8", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "@eslint-community/eslint-utils": "^4.9.0", - "@eslint/plugin-kit": "^0.4.0", - "change-case": "^5.4.4", - "ci-info": "^4.3.1", - "clean-regexp": "^1.0.0", - "core-js-compat": "^3.46.0", - "esquery": "^1.6.0", - "find-up-simple": "^1.0.1", - "globals": "^16.4.0", - "indent-string": "^5.0.0", - "is-builtin-module": "^5.0.0", - "jsesc": "^3.1.0", - "pluralize": "^8.0.0", - "regexp-tree": "^0.1.27", - "regjsparser": "^0.13.0", - "semver": "^7.7.3", - "strip-indent": "^4.1.1" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" }, - "engines": { - "node": "^20.10.0 || >=21.0.0" + "bin": { + "handlebars": "bin/handlebars" }, - "funding": { - "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" + "engines": { + "node": ">=0.4.7" }, - "peerDependencies": { - "eslint": ">=9.38.0" + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/eslint-plugin-unicorn/node_modules/globals": { - "version": "16.5.0", + "node_modules/has-bigints": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-scope": { - "version": "8.4.0", + "node_modules/has-flag": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "dunder-proto": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "dev": true, - "license": "Apache-2.0", + "node_modules/has-symbols": { + "version": "1.1.0", + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.12.6", - "dev": true, + "node_modules/has-tostringtag": { + "version": "1.0.2", "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, + "node_modules/hasown": { + "version": "2.0.2", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", + "node_modules/help-me": { + "version": "5.0.0", + "license": "MIT" + }, + "node_modules/hpagent": { + "version": "1.2.0", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">=14" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", "dev": true, "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, "engines": { - "node": ">= 4" + "node": ">=18" } }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, "license": "MIT" }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/htmlparser2": { + "version": "10.0.0", "dev": true, - "license": "ISC", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" } }, - "node_modules/espree": { - "version": "10.4.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/http-errors": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.8" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/esquery": { - "version": "1.7.0", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/http-proxy": { + "version": "1.18.1", + "license": "MIT", "dependencies": { - "estraverse": "^5.1.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=8.0.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", + "node_modules/http-proxy-agent": { + "version": "7.0.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">= 14" } }, - "node_modules/estree-walker": { - "version": "2.0.2", + "node_modules/http2-client": { + "version": "1.3.5", "dev": true, "license": "MIT" }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 14" } }, - "node_modules/etag": { - "version": "1.8.1", - "license": "MIT", + "node_modules/human-signals": { + "version": "2.1.0", + "license": "Apache-2.0", "engines": { - "node": ">= 0.6" + "node": ">=10.17.0" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "dev": true, + "node_modules/iconv-lite": { + "version": "0.7.2", "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "license": "MIT" + "node_modules/ieee754": { + "version": "1.1.13", + "license": "BSD-3-Clause" }, - "node_modules/events": { - "version": "1.1.1", + "node_modules/ignore": { + "version": "7.0.5", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.4.x" + "node": ">= 4" } }, - "node_modules/events-universal": { - "version": "1.0.1", + "node_modules/immer": { + "version": "9.0.21", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bare-events": "^2.7.0" + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/execa": { - "version": "5.1.1", + "node_modules/import-fresh": { + "version": "3.3.1", + "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" - }, - "node_modules/exit-x": { - "version": "0.2.2", + "node_modules/import-local": { + "version": "3.2.0", "dev": true, "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/expect": { - "version": "30.2.0", + "node_modules/imurmurhash": { + "version": "0.1.4", "license": "MIT", - "dependencies": { - "@jest/expect-utils": "30.2.0", - "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-util": "30.2.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=0.8.19" } }, - "node_modules/express": { - "version": "4.22.1", + "node_modules/indent-string": { + "version": "5.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.10.0" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.4", + "node_modules/inflight": { + "version": "1.0.6", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "8.2.7", + "dev": true, "license": "MIT", "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.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "@inquirer/external-editor": "^1.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "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": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=12.0.0" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", + "node_modules/internal-slot": { + "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", + "node_modules/ip-address": { + "version": "10.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 12" } }, - "node_modules/express/node_modules/media-typer": { - "version": "0.3.0", + "node_modules/ipaddr.js": { + "version": "1.9.1", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.10" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.12", - "license": "MIT" - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.3", + "node_modules/is-arguments": { + "version": "1.2.0", "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/express/node_modules/type-is": { - "version": "1.6.18", + "node_modules/is-array-buffer": { + "version": "3.0.5", + "dev": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-copy": { - "version": "4.0.2", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", + "node_modules/is-arrayish": { + "version": "0.2.1", "dev": true, "license": "MIT" }, - "node_modules/fast-glob": { - "version": "3.3.1", + "node_modules/is-async-function": { + "version": "2.1.1", "dev": true, "license": "MIT", "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" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-memoize": { - "version": "2.5.2", + "node_modules/is-bigint": { + "version": "1.1.0", "dev": true, - "license": "MIT" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fast-xml-parser": { - "version": "5.3.5", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], "license": "MIT", "dependencies": { - "strnum": "^2.1.2" + "has-bigints": "^1.0.2" }, - "bin": { - "fxparser": "src/cli/cli.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fastq": { - "version": "1.20.1", + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/fdir": { - "version": "6.5.0", + "node_modules/is-boolean-object": { + "version": "1.2.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=12.0.0" + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/figures": { - "version": "3.2.0", + "node_modules/is-buffer": { + "version": "1.1.6", + "license": "MIT" + }, + "node_modules/is-builtin-module": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" + "builtin-modules": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", + "node_modules/is-builtin-module/node_modules/builtin-modules": { + "version": "5.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", + "node_modules/is-bun-module": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" + "semver": "^7.7.1" } }, - "node_modules/file-type": { - "version": "21.3.0", - "dev": true, + "node_modules/is-callable": { + "version": "1.2.7", "license": "MIT", - "dependencies": { - "@tokenizer/inflate": "^0.4.1", - "strtok3": "^10.3.4", - "token-types": "^6.1.1", - "uint8array-extras": "^1.4.0" - }, "engines": { - "node": ">=20" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fill-range": { - "version": "7.1.1", + "node_modules/is-core-module": { + "version": "2.16.1", + "dev": true, "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "hasown": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler": { - "version": "1.3.2", + "node_modules/is-data-view": { + "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", + "node_modules/is-date-object": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/find-up-simple": { - "version": "1.0.1", - "dev": true, + "node_modules/is-docker": { + "version": "2.2.1", "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "4.0.1", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, "engines": { - "node": ">=16" + "node": ">=0.10.0" } }, - "node_modules/flatted": { - "version": "3.3.3", + "node_modules/is-finalizationregistry": { + "version": "1.1.1", "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", "license": "MIT", "dependencies": { - "is-callable": "^1.2.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -10552,94 +15575,93 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/foreach": { - "version": "2.0.6", - "dev": true, - "license": "MIT" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/foreground-child": { - "version": "3.3.1", + "node_modules/is-generator-fn": { + "version": "2.1.0", "dev": true, - "license": "ISC", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/form-data": { - "version": "4.0.5", + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, "license": "MIT", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/forwarded": { - "version": "0.2.0", + "node_modules/is-interactive": { + "version": "1.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/fresh": { - "version": "0.5.2", + "node_modules/is-map": { + "version": "2.0.3", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "11.3.3", + "node_modules/is-negative-zero": { + "version": "2.0.3", "dev": true, "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { - "node": ">=14.14" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", + "node_modules/is-number": { + "version": "7.0.0", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.12.0" } }, - "node_modules/function.prototype.name": { - "version": "1.1.8", + "node_modules/is-number-object": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10648,64 +15670,107 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { + "node_modules/is-port-reachable": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/functions-have-names": { - "version": "1.2.3", + "node_modules/is-promise": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/is-reference": { + "version": "1.2.1", "dev": true, "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/generator-function": { - "version": "2.0.1", + "node_modules/is-set": { + "version": "2.0.3", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "license": "ISC", + "node_modules/is-stream": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-east-asian-width": { - "version": "1.4.0", + "node_modules/is-string": { + "version": "1.1.1", + "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", + "node_modules/is-symbol": { + "version": "1.1.1", + "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -10714,71 +15779,61 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-package-type": { - "version": "0.1.0", + "node_modules/is-typed-array": { + "version": "1.1.15", "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-port": { - "version": "7.1.0", + "node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=16" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-port-please": { - "version": "3.2.0", + "node_modules/is-weakmap": { + "version": "2.0.2", "dev": true, - "license": "MIT" - }, - "node_modules/get-proto": { - "version": "1.0.1", "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-source": { - "version": "2.0.12", - "dev": true, - "license": "Unlicense", - "dependencies": { - "data-uri-to-buffer": "^2.0.0", - "source-map": "^0.6.1" - } - }, - "node_modules/get-source/node_modules/data-uri-to-buffer": { - "version": "2.0.2", + "node_modules/is-weakref": { + "version": "1.1.1", "dev": true, - "license": "MIT" - }, - "node_modules/get-stream": { - "version": "6.0.1", "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { - "version": "1.1.0", + "node_modules/is-weakset": { + "version": "2.0.4", "dev": true, "license": "MIT", "dependencies": { "call-bound": "^1.0.3", - "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" }, "engines": { @@ -10788,1342 +15843,1387 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-tsconfig": { - "version": "4.13.6", - "dev": true, + "node_modules/is-wsl": { + "version": "2.2.0", "license": "MIT", "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "is-docker": "^2.0.0" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": ">=8" } }, - "node_modules/get-uri": { - "version": "6.0.5", - "dev": true, - "license": "MIT", + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "license": "BSD-3-Clause", "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">= 14" + "node": ">=10" } }, - "node_modules/glob": { - "version": "11.1.0", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", "dev": true, - "license": "BlueOak-1.0.0", + "license": "BSD-3-Clause", "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, - "node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.6", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "is-glob": "^4.0.1" + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/minimatch": { - "version": "10.1.2", + "node_modules/istanbul-reports": { + "version": "3.2.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "BSD-3-Clause", "dependencies": { - "@isaacs/brace-expansion": "^5.0.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/globals": { - "version": "14.0.0", + "node_modules/iterare": { + "version": "1.2.1", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/globalthis": { - "version": "1.0.4", + "node_modules/iterator.prototype": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/gopd": { - "version": "1.2.0", + "node_modules/jest": { + "version": "30.2.0", + "dev": true, "license": "MIT", + "dependencies": { + "@jest/core": "30.2.0", + "@jest/types": "30.2.0", + "import-local": "^3.2.0", + "jest-cli": "30.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "license": "ISC" - }, - "node_modules/graphql": { - "version": "16.12.0", + "node_modules/jest-changed-files": { + "version": "30.2.0", + "dev": true, "license": "MIT", + "dependencies": { + "execa": "^5.1.1", + "jest-util": "30.2.0", + "p-limit": "^3.1.0" + }, "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/graphql-tag": { - "version": "2.12.6", + "node_modules/jest-circus": { + "version": "30.2.0", + "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.1.0" + "@jest/environment": "30.2.0", + "@jest/expect": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "co": "^4.6.0", + "dedent": "^1.6.0", + "is-generator-fn": "^2.1.0", + "jest-each": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-runtime": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "p-limit": "^3.1.0", + "pretty-format": "30.2.0", + "pure-rand": "^7.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" }, "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": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/handlebars": { - "version": "4.7.8", + "node_modules/jest-cli": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" + "@jest/core": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "exit-x": "^0.2.2", + "import-local": "^3.2.0", + "jest-config": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "yargs": "^17.7.2" }, "bin": { - "handlebars": "bin/handlebars" + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.4.7" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/has-bigints": { - "version": "1.1.0", + "node_modules/jest-config": { + "version": "30.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "@babel/core": "^7.27.4", + "@jest/get-type": "30.1.0", + "@jest/pattern": "30.0.1", + "@jest/test-sequencer": "30.2.0", + "@jest/types": "30.2.0", + "babel-jest": "30.2.0", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "deepmerge": "^4.3.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-circus": "30.2.0", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-runner": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "micromatch": "^4.0.8", + "parse-json": "^5.2.0", + "pretty-format": "30.2.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@types/node": "*", + "esbuild-register": ">=3.4.0", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "esbuild-register": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/has-proto": { - "version": "1.2.0", + "node_modules/jest-config/node_modules/glob": { + "version": "10.5.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "dunder-proto": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/jest-config/node_modules/lru-cache": { + "version": "10.4.3", + "dev": true, + "license": "ISC" }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "license": "MIT", + "node_modules/jest-config/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "has-symbols": "^1.0.3" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/hasown": { - "version": "2.0.2", + "node_modules/jest-diff": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "@jest/diff-sequences": "30.0.1", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/help-me": { - "version": "5.0.0", - "license": "MIT" - }, - "node_modules/hpagent": { - "version": "1.2.0", + "node_modules/jest-docblock": { + "version": "30.2.0", "dev": true, "license": "MIT", + "dependencies": { + "detect-newline": "^3.1.0" + }, "engines": { - "node": ">=14" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", + "node_modules/jest-each": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "whatwg-encoding": "^3.1.1" + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "chalk": "^4.1.2", + "jest-util": "30.2.0", + "pretty-format": "30.2.0" }, "engines": { - "node": ">=18" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/htmlparser2": { - "version": "10.1.0", + "node_modules/jest-environment-jsdom": { + "version": "30.2.0", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "entities": "^7.0.1" + "@jest/environment": "30.2.0", + "@jest/environment-jsdom-abstract": "30.2.0", + "@types/jsdom": "^21.1.7", + "@types/node": "*", + "jsdom": "^26.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/http-errors": { - "version": "2.0.1", + "node_modules/jest-environment-node": { + "version": "30.2.0", + "dev": true, "license": "MIT", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-mock": "30.2.0", + "jest-util": "30.2.0", + "jest-validate": "30.2.0" }, "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/http-proxy": { - "version": "1.18.1", + "node_modules/jest-haste-map": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "@jest/types": "30.2.0", + "@types/node": "*", + "anymatch": "^3.1.3", + "fb-watchman": "^2.0.2", + "graceful-fs": "^4.2.11", + "jest-regex-util": "30.0.1", + "jest-util": "30.2.0", + "jest-worker": "30.2.0", + "micromatch": "^4.0.8", + "walker": "^1.0.8" }, "engines": { - "node": ">=8.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.3" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", + "node_modules/jest-html-reporter": { + "version": "4.3.0", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" + "@jest/reporters": "^30.0.2", + "@jest/test-result": "^30.0.2", + "@jest/types": "^30.0.1", + "dateformat": "3.0.2", + "mkdirp": "^1.0.3", + "strip-ansi": "6.0.1", + "xmlbuilder": "15.0.0" }, "engines": { - "node": ">= 14" + "node": ">=14.0.0" + }, + "peerDependencies": { + "jest": "19.x - 30.x", + "typescript": "^3.7.x || ^4.3.x || ^5.x" } }, - "node_modules/http2-client": { - "version": "1.3.5", + "node_modules/jest-leak-detector": { + "version": "30.2.0", "dev": true, - "license": "MIT" - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", "license": "MIT", "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" + "@jest/get-type": "30.1.0", + "pretty-format": "30.2.0" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/iconv-lite": { - "version": "0.7.2", + "node_modules/jest-matcher-utils": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.2.0", + "pretty-format": "30.2.0" }, "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/ieee754": { - "version": "1.1.13", - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "7.0.5", - "dev": true, + "node_modules/jest-message-util": { + "version": "30.2.0", "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.2.0", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "micromatch": "^4.0.8", + "pretty-format": "30.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, "engines": { - "node": ">= 4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/immer": { - "version": "9.0.21", - "dev": true, + "node_modules/jest-mock": { + "version": "30.2.0", "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "dependencies": { + "@jest/types": "30.2.0", + "@types/node": "*", + "jest-util": "30.2.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/import-fresh": { - "version": "3.3.1", + "node_modules/jest-mock-extended": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" + "ts-essentials": "^10.0.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@jest/globals": "^28.0.0 || ^29.0.0 || ^30.0.0", + "jest": "^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 || ^30.0.0", + "typescript": "^3.0.0 || ^4.0.0 || ^5.0.0" } }, - "node_modules/import-local": { - "version": "3.2.0", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", "dev": true, "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, "engines": { - "node": ">=8" + "node": ">=6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/imurmurhash": { - "version": "0.1.4", + "node_modules/jest-regex-util": { + "version": "30.0.1", "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/indent-string": { - "version": "5.0.0", + "node_modules/jest-resolve": { + "version": "30.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-pnp-resolver": "^1.2.3", + "jest-util": "30.2.0", + "jest-validate": "30.2.0", + "slash": "^3.0.0", + "unrs-resolver": "^1.7.11" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/index-to-position": { - "version": "1.2.0", + "node_modules/jest-resolve-dependencies": { + "version": "30.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "jest-regex-util": "30.0.1", + "jest-snapshot": "30.2.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", + "node_modules/jest-runner": { + "version": "30.2.0", + "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@jest/console": "30.2.0", + "@jest/environment": "30.2.0", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "exit-x": "^0.2.2", + "graceful-fs": "^4.2.11", + "jest-docblock": "30.2.0", + "jest-environment-node": "30.2.0", + "jest-haste-map": "30.2.0", + "jest-leak-detector": "30.2.0", + "jest-message-util": "30.2.0", + "jest-resolve": "30.2.0", + "jest-runtime": "30.2.0", + "jest-util": "30.2.0", + "jest-watcher": "30.2.0", + "jest-worker": "30.2.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "license": "ISC" - }, - "node_modules/inquirer": { - "version": "8.2.7", + "node_modules/jest-runtime": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/external-editor": "^1.0.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "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" + "@jest/environment": "30.2.0", + "@jest/fake-timers": "30.2.0", + "@jest/globals": "30.2.0", + "@jest/source-map": "30.0.1", + "@jest/test-result": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "cjs-module-lexer": "^2.1.0", + "collect-v8-coverage": "^1.0.2", + "glob": "^10.3.10", + "graceful-fs": "^4.2.11", + "jest-haste-map": "30.2.0", + "jest-message-util": "30.2.0", + "jest-mock": "30.2.0", + "jest-regex-util": "30.0.1", + "jest-resolve": "30.2.0", + "jest-snapshot": "30.2.0", + "jest-util": "30.2.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=12.0.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/internal-slot": { - "version": "1.1.0", + "node_modules/jest-runtime/node_modules/glob": { + "version": "10.5.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ip-address": { - "version": "10.1.0", + "node_modules/jest-runtime/node_modules/lru-cache": { + "version": "10.4.3", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } + "license": "ISC" }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "license": "MIT", + "node_modules/jest-runtime/node_modules/path-scurry": { + "version": "1.11.1", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, "engines": { - "node": ">= 0.10" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-arguments": { - "version": "1.2.0", + "node_modules/jest-snapshot": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "@babel/core": "^7.27.4", + "@babel/generator": "^7.27.5", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1", + "@babel/types": "^7.27.3", + "@jest/expect-utils": "30.2.0", + "@jest/get-type": "30.1.0", + "@jest/snapshot-utils": "30.2.0", + "@jest/transform": "30.2.0", + "@jest/types": "30.2.0", + "babel-preset-current-node-syntax": "^1.2.0", + "chalk": "^4.1.2", + "expect": "30.2.0", + "graceful-fs": "^4.2.11", + "jest-diff": "30.2.0", + "jest-matcher-utils": "30.2.0", + "jest-message-util": "30.2.0", + "jest-util": "30.2.0", + "pretty-format": "30.2.0", + "semver": "^7.7.2", + "synckit": "^0.11.8" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "dev": true, + "node_modules/jest-util": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "@jest/types": "30.2.0", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", + "node_modules/jest-validate": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "@jest/get-type": "30.1.0", + "@jest/types": "30.2.0", + "camelcase": "^6.3.0", + "chalk": "^4.1.2", + "leven": "^3.1.0", + "pretty-format": "30.2.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-bigint": { - "version": "1.1.0", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", "dev": true, "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/jest-watcher": { + "version": "30.2.0", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "@jest/test-result": "30.2.0", + "@jest/types": "30.2.0", + "@types/node": "*", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "emittery": "^0.13.1", + "jest-util": "30.2.0", + "string-length": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "dev": true, + "node_modules/jest-worker": { + "version": "30.2.0", "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "@types/node": "*", + "@ungap/structured-clone": "^1.3.0", + "jest-util": "30.2.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/is-builtin-module": { - "version": "5.0.0", - "dev": true, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "license": "MIT", "dependencies": { - "builtin-modules": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=18.20" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/is-builtin-module/node_modules/builtin-modules": { - "version": "5.0.0", - "dev": true, + "node_modules/jmespath": { + "version": "0.16.0", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/joycon": { + "version": "3.1.1", "license": "MIT", "engines": { - "node": ">=18.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/is-bun-module": { - "version": "2.0.0", + "node_modules/js-base64": { + "version": "3.7.8", + "license": "BSD-3-Clause" + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", "dev": true, "license": "MIT", - "dependencies": { - "semver": "^7.7.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "argparse": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/is-core-module": { - "version": "2.16.1", + "node_modules/jsdom": { + "version": "26.1.0", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" + "node": ">=18" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "canvas": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/is-date-object": { - "version": "1.1.0", + "node_modules/jsep": { + "version": "1.4.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 10.16.0" } }, - "node_modules/is-docker": { - "version": "2.2.1", + "node_modules/jsesc": { + "version": "3.1.0", "license": "MIT", "bin": { - "is-docker": "cli.js" + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/is-extglob": { - "version": "2.1.1", + "node_modules/json-buffer": { + "version": "3.0.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-pointer": { + "version": "0.6.2", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "foreach": "^2.0.4" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" }, - "node_modules/is-generator-fn": { - "version": "2.1.0", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, "engines": { "node": ">=6" } }, - "node_modules/is-generator-function": { - "version": "1.1.2", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/is-glob": { - "version": "4.0.3", + "node_modules/jsonpath-plus": { + "version": "10.3.0", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=18.0.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", + "node_modules/jsonpointer": { + "version": "5.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.3", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", + "node_modules/jsx-ast-utils-x": { + "version": "0.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.12.0" + "dependencies": { + "json-buffer": "3.0.1" } }, - "node_modules/is-number-object": { - "version": "1.1.1", + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "language-subtag-registry": "^0.3.20" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-port-reachable": { - "version": "4.0.0", - "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10" } }, - "node_modules/is-potential-custom-element-name": { + "node_modules/lazystream": { "version": "1.0.1", "dev": true, - "license": "MIT" - }, - "node_modules/is-promise": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/is-reference": { - "version": "1.2.1", - "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*" + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" } }, - "node_modules/is-regex": { - "version": "1.2.1", + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "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/is-set": { - "version": "2.0.3", + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "safe-buffer": "~5.1.0" } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", + }, + "node_modules/lcov-result-merger": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "fast-glob": "^3.2.11", + "yargs": "^16.2.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "lcov-result-merger": "bin/lcov-result-merger.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14" } }, - "node_modules/is-string": { - "version": "1.1.1", + "node_modules/lcov-result-merger/node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/is-symbol": { - "version": "1.1.1", + "node_modules/lcov-result-merger/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", + "node_modules/lcov-result-merger/node_modules/yargs": { + "version": "16.2.0", + "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", + "node_modules/lcov-result-merger/node_modules/yargs-parser": { + "version": "20.2.9", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", + "node_modules/leven": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/is-weakref": { - "version": "1.1.1", + "node_modules/levn": { + "version": "0.4.1", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/is-weakset": { - "version": "2.0.4", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "dev": true, + "license": "MIT" + }, + "node_modules/load-esm": { + "version": "1.0.3", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=13.2.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isarray": { - "version": "1.0.0", + "node_modules/lodash": { + "version": "4.17.23", "license": "MIT" }, - "node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "dev": true, + "license": "MIT" }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } + "node_modules/lodash.memoize": { + "version": "4.1.2", + "dev": true, + "license": "MIT" }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", + "node_modules/lodash.topath": { + "version": "4.5.2", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/istanbul-lib-source-maps": { - "version": "5.0.6", + "node_modules/log-symbols": { + "version": "4.1.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.23", - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/istanbul-reports": { - "version": "3.2.0", + "node_modules/long": { + "version": "5.3.2", "dev": true, - "license": "BSD-3-Clause", + "license": "Apache-2.0" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "dev": true, + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/iterare": { - "version": "1.2.1", - "dev": true, + "node_modules/lru-cache": { + "version": "5.1.1", "license": "ISC", - "engines": { - "node": ">=6" + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/iterator.prototype": { - "version": "1.1.5", + "node_modules/lunr": { + "version": "2.3.9", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.25.9", "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jackspeak": { - "version": "4.2.3", + "node_modules/make-dir": { + "version": "4.0.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^9.0.0" + "semver": "^7.5.3" }, "engines": { - "node": "20 || >=22" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest": { - "version": "30.2.0", + "node_modules/make-error": { + "version": "1.3.6", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "license": "BSD-3-Clause", "dependencies": { - "@jest/core": "30.2.0", - "@jest/types": "30.2.0", - "import-local": "^3.2.0", - "jest-cli": "30.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "tmpl": "1.0.5" } }, - "node_modules/jest-changed-files": { - "version": "30.2.0", + "node_modules/mark.js": { + "version": "8.11.1", + "dev": true, + "license": "MIT" + }, + "node_modules/markdown-escape": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/marked": { + "version": "4.3.0", "dev": true, "license": "MIT", - "dependencies": { - "execa": "^5.1.1", - "jest-util": "30.2.0", - "p-limit": "^3.1.0" + "bin": { + "marked": "bin/marked.js" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 12" } }, - "node_modules/jest-circus": { - "version": "30.2.0", - "dev": true, + "node_modules/math-intrinsics": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "@jest/environment": "30.2.0", - "@jest/expect": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "co": "^4.6.0", - "dedent": "^1.6.0", - "is-generator-fn": "^2.1.0", - "jest-each": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-runtime": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "p-limit": "^3.1.0", - "pretty-format": "30.2.0", - "pure-rand": "^7.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-cli": { - "version": "30.2.0", - "dev": true, - "license": "MIT", + "node_modules/md5": { + "version": "2.3.0", + "license": "BSD-3-Clause", "dependencies": { - "@jest/core": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", - "chalk": "^4.1.2", - "exit-x": "^0.2.2", - "import-local": "^3.2.0", - "jest-config": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "yargs": "^17.7.2" - }, - "bin": { - "jest": "bin/jest.js" - }, + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "license": "MIT", "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">= 0.8" } }, - "node_modules/jest-config": { - "version": "30.2.0", - "dev": true, + "node_modules/merge-descriptors": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "@babel/core": "^7.27.4", - "@jest/get-type": "30.1.0", - "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.2.0", - "@jest/types": "30.2.0", - "babel-jest": "30.2.0", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "deepmerge": "^4.3.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "jest-circus": "30.2.0", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-runner": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "micromatch": "^4.0.8", - "parse-json": "^5.2.0", - "pretty-format": "30.2.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "esbuild-register": ">=3.4.0", - "ts-node": ">=9.0.0" + "node": ">=18" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "esbuild-register": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config/node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", "dev": true, - "license": "ISC", - "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" - }, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/jest-config/node_modules/ansi-regex": { - "version": "6.2.2", - "dev": true, + "node_modules/methods": { + "version": "1.1.2", "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=8.6" } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "6.2.3", - "dev": true, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/jest-config/node_modules/glob": { - "version": "10.5.0", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, + "node_modules/mime": { + "version": "1.6.0", + "license": "MIT", "bin": { - "glob": "dist/esm/bin.mjs" + "mime": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=4" } }, - "node_modules/jest-config/node_modules/jackspeak": { - "version": "3.4.3", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/mime-db": { + "version": "1.54.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "mime-db": "^1.54.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=18" }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/jest-config/node_modules/lru-cache": { - "version": "10.4.3", - "dev": true, - "license": "ISC" + "node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/jest-config/node_modules/minimatch": { + "node_modules/minimatch": { "version": "9.0.5", "dev": true, "license": "ISC", @@ -12137,1738 +17237,1856 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-config/node_modules/path-scurry": { - "version": "1.11.1", + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, + "license": "ISC", "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/jest-config/node_modules/string-width": { - "version": "5.1.2", + "node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=12" - }, + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "dev": true, + "license": "MIT" + }, + "node_modules/mnemonist": { + "version": "0.38.3", + "license": "MIT", + "dependencies": { + "obliterator": "^1.6.1" + } + }, + "node_modules/mobx": { + "version": "6.15.0", + "dev": true, + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/mobx" } }, - "node_modules/jest-config/node_modules/strip-ansi": { - "version": "7.1.2", + "node_modules/mobx-react": { + "version": "9.2.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "mobx-react-lite": "^4.1.1" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/jest-config/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/mobx-react-lite": { + "version": "4.1.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" + "use-sync-external-store": "^1.4.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.9.0", + "react": "^16.8.0 || ^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/jest-diff": { - "version": "30.2.0", + "node_modules/ms": { + "version": "2.1.3", + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "dev": true, + "license": "ISC" + }, + "node_modules/nan": { + "version": "2.25.0", + "dev": true, "license": "MIT", - "dependencies": { - "@jest/diff-sequences": "30.0.1", - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "pretty-format": "30.2.0" + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.11", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/jest-docblock": { - "version": "30.2.0", + "node_modules/napi-postinstall": { + "version": "0.3.4", "dev": true, "license": "MIT", - "dependencies": { - "detect-newline": "^3.1.0" + "bin": { + "napi-postinstall": "lib/cli.js" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, - "node_modules/jest-each": { - "version": "30.2.0", + "node_modules/natural-compare": { + "version": "1.4.0", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", - "chalk": "^4.1.2", - "jest-util": "30.2.0", - "pretty-format": "30.2.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.6" } }, - "node_modules/jest-environment-jsdom": { - "version": "30.2.0", + "node_modules/neo-async": { + "version": "2.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/netmask": { + "version": "2.0.2", "dev": true, "license": "MIT", - "dependencies": { - "@jest/environment": "30.2.0", - "@jest/environment-jsdom-abstract": "30.2.0", - "@types/jsdom": "^21.1.7", - "@types/node": "*", - "jsdom": "^26.1.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">= 0.4.0" } }, - "node_modules/jest-environment-node": { - "version": "30.2.0", - "dev": true, + "node_modules/nhs-notify-docs": { + "resolved": "docs", + "link": true + }, + "node_modules/nhs-notify-supplier-api-allocate-letter": { + "resolved": "lambdas/allocate-letter", + "link": true + }, + "node_modules/nhs-notify-supplier-api-handler": { + "resolved": "lambdas/api-handler", + "link": true + }, + "node_modules/nhs-notify-supplier-api-letter-test-data-utility": { + "resolved": "scripts/utilities/letter-test-data", + "link": true + }, + "node_modules/nhs-notify-supplier-api-letter-updates-transformer": { + "resolved": "lambdas/letter-updates-transformer", + "link": true + }, + "node_modules/nhs-notify-supplier-api-mi-updates-transformer": { + "resolved": "lambdas/mi-updates-transformer", + "link": true + }, + "node_modules/nhs-notify-supplier-api-suppliers-data-utility": { + "resolved": "scripts/utilities/supplier-data", + "link": true + }, + "node_modules/nhs-notify-supplier-api-tests": { + "resolved": "tests", + "link": true + }, + "node_modules/nhs-notify-supplier-api-upsert-letter": { + "resolved": "lambdas/upsert-letter", + "link": true + }, + "node_modules/nhs-notify-supplier-authorizer": { + "resolved": "lambdas/authorizer", + "link": true + }, + "node_modules/nhsuk-frontend": { + "version": "10.3.1", "license": "MIT", - "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "jest-mock": "30.2.0", - "jest-util": "30.2.0", - "jest-validate": "30.2.0" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^20.9.0 || ^22.11.0 || ^24.11.0" } }, - "node_modules/jest-haste-map": { - "version": "30.2.0", - "license": "MIT", + "node_modules/nimma": { + "version": "0.2.3", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "anymatch": "^3.1.3", - "fb-watchman": "^2.0.2", - "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.2.0", - "jest-worker": "30.2.0", - "micromatch": "^4.0.8", - "walker": "^1.0.8" + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^12.20 || >=14.13" }, "optionalDependencies": { - "fsevents": "^2.3.3" + "jsonpath-plus": "^6.0.1 || ^10.1.0", + "lodash.topath": "^4.5.2" } }, - "node_modules/jest-html-reporter": { - "version": "4.3.0", + "node_modules/node-fetch": { + "version": "2.7.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/reporters": "^30.0.2", - "@jest/test-result": "^30.0.2", - "@jest/types": "^30.0.1", - "dateformat": "3.0.2", - "mkdirp": "^1.0.3", - "strip-ansi": "6.0.1", - "xmlbuilder": "15.0.0" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "jest": "19.x - 30.x", - "typescript": "^3.7.x || ^4.3.x || ^5.x" - } - }, - "node_modules/jest-leak-detector": { - "version": "30.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/get-type": "30.1.0", - "pretty-format": "30.2.0" + "encoding": "^0.1.0" }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/jest-matcher-utils": { - "version": "30.2.0", + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@jest/get-type": "30.1.0", - "chalk": "^4.1.2", - "jest-diff": "30.2.0", - "pretty-format": "30.2.0" + "http2-client": "^1.2.5" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "4.x || >=6.0.0" } }, - "node_modules/jest-message-util": { - "version": "30.2.0", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@jest/types": "30.2.0", - "@types/stack-utils": "^2.0.3", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "micromatch": "^4.0.8", - "pretty-format": "30.2.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.6" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT" }, - "node_modules/jest-mock": { - "version": "30.2.0", - "license": "MIT", - "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "jest-util": "30.2.0" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause" }, - "node_modules/jest-mock-extended": { - "version": "4.0.0", + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "ts-essentials": "^10.0.2" - }, - "peerDependencies": { - "@jest/globals": "^28.0.0 || ^29.0.0 || ^30.0.0", - "jest": "^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 || ^30.0.0", - "typescript": "^3.0.0 || ^4.0.0 || ^5.0.0" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, + "node_modules/node-gyp-build": { + "version": "4.8.4", "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/jest-regex-util": { - "version": "30.0.1", - "license": "MIT", - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - } + "node_modules/node-int64": { + "version": "0.4.0", + "license": "MIT" }, - "node_modules/jest-resolve": { - "version": "30.2.0", + "node_modules/node-readfiles": { + "version": "0.2.0", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.2.0", - "jest-validate": "30.2.0", - "slash": "^3.0.0", - "unrs-resolver": "^1.7.11" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "es6-promise": "^3.2.1" } }, - "node_modules/jest-resolve-dependencies": { - "version": "30.2.0", + "node_modules/node-releases": { + "version": "2.0.27", + "license": "MIT" + }, + "node_modules/node-sarif-builder": { + "version": "2.0.3", "dev": true, "license": "MIT", "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.2.0" + "@types/sarif": "^2.1.4", + "fs-extra": "^10.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=14" } }, - "node_modules/jest-runner": { - "version": "30.2.0", + "node_modules/node-sarif-builder/node_modules/fs-extra": { + "version": "10.1.0", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.2.0", - "@jest/environment": "30.2.0", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "exit-x": "^0.2.2", - "graceful-fs": "^4.2.11", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.2.0", - "jest-haste-map": "30.2.0", - "jest-leak-detector": "30.2.0", - "jest-message-util": "30.2.0", - "jest-resolve": "30.2.0", - "jest-runtime": "30.2.0", - "jest-util": "30.2.0", - "jest-watcher": "30.2.0", - "jest-worker": "30.2.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=12" } }, - "node_modules/jest-runtime": { - "version": "30.2.0", - "dev": true, + "node_modules/normalize-path": { + "version": "3.0.0", "license": "MIT", - "dependencies": { - "@jest/environment": "30.2.0", - "@jest/fake-timers": "30.2.0", - "@jest/globals": "30.2.0", - "@jest/source-map": "30.0.1", - "@jest/test-result": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "cjs-module-lexer": "^2.1.0", - "collect-v8-coverage": "^1.0.2", - "glob": "^10.3.10", - "graceful-fs": "^4.2.11", - "jest-haste-map": "30.2.0", - "jest-message-util": "30.2.0", - "jest-mock": "30.2.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.2.0", - "jest-snapshot": "30.2.0", - "jest-util": "30.2.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/nwsapi": { + "version": "2.2.23", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "dev": true, + "license": "BSD-3-Clause", "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" + "fast-safe-stringify": "^2.0.7" } }, - "node_modules/jest-runtime/node_modules/ansi-regex": { - "version": "6.2.2", + "node_modules/oas-linter": { + "version": "3.2.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "license": "BSD-3-Clause", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "6.2.3", + "node_modules/oas-linter/node_modules/yaml": { + "version": "1.10.2", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "10.5.0", + "node_modules/oas-resolver": { + "version": "2.5.6", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" }, "bin": { - "glob": "dist/esm/bin.mjs" + "resolve": "resolve.js" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/jackspeak": { - "version": "3.4.3", + "node_modules/oas-resolver/node_modules/yaml": { + "version": "1.10.2", "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "license": "ISC", + "engines": { + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/lru-cache": { - "version": "10.4.3", + "node_modules/oas-schema-walker": { + "version": "1.1.5", "dev": true, - "license": "ISC" + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } }, - "node_modules/jest-runtime/node_modules/minimatch": { - "version": "9.0.5", + "node_modules/oas-validator": { + "version": "5.0.8", "dev": true, - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/path-scurry": { - "version": "1.11.1", + "node_modules/oas-validator/node_modules/yaml": { + "version": "1.10.2", "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, + "license": "ISC", "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, - "node_modules/jest-runtime/node_modules/string-width": { - "version": "5.1.2", + "node_modules/object-assign": { + "version": "4.1.1", "dev": true, "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, "engines": { - "node": ">=12" + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/strip-ansi": { - "version": "7.1.2", + "node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-runtime/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/object.entries": { + "version": "1.1.9", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/jest-snapshot": { - "version": "30.2.0", + "node_modules/object.fromentries": { + "version": "2.0.8", + "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.27.4", - "@babel/generator": "^7.27.5", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1", - "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.2.0", - "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.2.0", - "@jest/transform": "30.2.0", - "@jest/types": "30.2.0", - "babel-preset-current-node-syntax": "^1.2.0", - "chalk": "^4.1.2", - "expect": "30.2.0", - "graceful-fs": "^4.2.11", - "jest-diff": "30.2.0", - "jest-matcher-utils": "30.2.0", - "jest-message-util": "30.2.0", - "jest-util": "30.2.0", - "pretty-format": "30.2.0", - "semver": "^7.7.2", - "synckit": "^0.11.8" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util": { - "version": "30.2.0", + "node_modules/object.groupby": { + "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.2.0", - "@types/node": "*", - "chalk": "^4.1.2", - "ci-info": "^4.2.0", - "graceful-fs": "^4.2.11", - "picomatch": "^4.0.2" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-validate": { - "version": "30.2.0", + "node_modules/object.values": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "@jest/get-type": "30.1.0", - "@jest/types": "30.2.0", - "camelcase": "^6.3.0", - "chalk": "^4.1.2", - "leven": "^3.1.0", - "pretty-format": "30.2.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, + "node_modules/obliterator": { + "version": "1.6.1", + "license": "MIT" + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/jest-watcher": { - "version": "30.2.0", - "dev": true, + "node_modules/on-finished": { + "version": "2.4.1", "license": "MIT", "dependencies": { - "@jest/test-result": "30.2.0", - "@jest/types": "30.2.0", - "@types/node": "*", - "ansi-escapes": "^4.3.2", - "chalk": "^4.1.2", - "emittery": "^0.13.1", - "jest-util": "30.2.0", - "string-length": "^4.0.2" + "ee-first": "1.1.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-worker": { - "version": "30.2.0", + "node_modules/on-headers": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "@types/node": "*", - "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.2.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.1.1" - }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jmespath": { - "version": "0.16.0", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.6.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/joycon": { - "version": "3.1.1", + "node_modules/openapi-response-validator": { + "version": "12.1.3", "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "ajv": "^8.4.0", + "openapi-types": "^12.1.3" } }, - "node_modules/js-base64": { - "version": "3.7.8", - "license": "BSD-3-Clause" - }, - "node_modules/js-levenshtein": { - "version": "1.1.6", + "node_modules/openapi-sampler": { + "version": "1.6.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/json-schema": "^7.0.7", + "fast-xml-parser": "^4.5.0", + "json-pointer": "0.6.2" } }, - "node_modules/js-tokens": { - "version": "4.0.0", + "node_modules/openapi-types": { + "version": "12.1.3", "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.1", + "node_modules/openapi-typescript": { + "version": "7.10.1", + "dev": true, "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "@redocly/openapi-core": "^1.34.5", + "ansi-colors": "^4.1.3", + "change-case": "^5.4.4", + "parse-json": "^8.3.0", + "supports-color": "^10.2.2", + "yargs-parser": "^21.1.1" }, "bin": { - "js-yaml": "bin/js-yaml.js" + "openapi-typescript": "bin/cli.js" + }, + "peerDependencies": { + "typescript": "^5.x" } }, - "node_modules/jsdom": { - "version": "26.1.0", + "node_modules/openapi-typescript/node_modules/@redocly/config": { + "version": "0.22.2", + "dev": true, + "license": "MIT" + }, + "node_modules/openapi-typescript/node_modules/@redocly/openapi-core": { + "version": "1.34.6", "dev": true, "license": "MIT", "dependencies": { - "cssstyle": "^4.2.1", - "data-urls": "^5.0.0", - "decimal.js": "^10.5.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.6", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.16", - "parse5": "^7.2.1", - "rrweb-cssom": "^0.8.0", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^5.1.1", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.1.1", - "ws": "^8.18.0", - "xml-name-validator": "^5.0.0" + "@redocly/ajv": "^8.11.2", + "@redocly/config": "^0.22.0", + "colorette": "^1.2.0", + "https-proxy-agent": "^7.0.5", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "minimatch": "^5.0.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" }, "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^3.0.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">=18.17.0", + "npm": ">=9.5.0" } }, - "node_modules/jsep": { - "version": "1.4.0", + "node_modules/openapi-typescript/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">= 10.16.0" + "node": ">=10" } }, - "node_modules/jsesc": { - "version": "3.1.0", + "node_modules/openapi-typescript/node_modules/parse-json": { + "version": "8.3.0", + "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/json-buffer": { - "version": "3.0.1", + "node_modules/openapi-typescript/node_modules/supports-color": { + "version": "10.2.2", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", + "node_modules/openapi-typescript/node_modules/type-fest": { + "version": "4.41.0", "dev": true, - "license": "MIT" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/json-pointer": { - "version": "0.6.2", + "node_modules/optionator": { + "version": "0.9.4", "dev": true, "license": "MIT", "dependencies": { - "foreach": "^2.0.4" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", + "node_modules/ora": { + "version": "5.4.1", "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", "license": "MIT", - "bin": { - "json5": "lib/cli.js" + "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": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "dev": true, - "license": "MIT" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/jsonfile": { - "version": "6.2.0", + "node_modules/own-keys": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsonpath-plus": { - "version": "10.3.0", + "node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "@jsep-plugin/assignment": "^1.3.0", - "@jsep-plugin/regex": "^1.0.4", - "jsep": "^1.4.0" - }, - "bin": { - "jsonpath": "bin/jsonpath-cli.js", - "jsonpath-plus": "bin/jsonpath-cli.js" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsonpointer": { - "version": "5.0.1", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "dev": true, + "node_modules/p-try": { + "version": "2.2.0", "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, "engines": { - "node": ">=4.0" + "node": ">=6" } }, - "node_modules/jsx-ast-utils-x": { - "version": "0.1.0", + "node_modules/pac-proxy-agent": { + "version": "7.2.0", "dev": true, "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 14" } }, - "node_modules/keyv": { - "version": "4.5.4", + "node_modules/pac-resolver": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "json-buffer": "3.0.1" + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", + "node_modules/package-json-from-dist": { + "version": "1.0.1", "dev": true, - "license": "CC0-1.0" + "license": "BlueOak-1.0.0" }, - "node_modules/language-tags": { - "version": "1.0.9", + "node_modules/parent-module": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "language-subtag-registry": "^0.3.20" + "callsites": "^3.0.0" }, "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/lazystream": { - "version": "1.0.1", + "node_modules/parse-json": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "readable-stream": "^2.0.5" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">= 0.6.3" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/parse5": { + "version": "7.3.0", "dev": 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" + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", + "node_modules/parseurl": { + "version": "1.3.3", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, + "node_modules/path-exists": { + "version": "4.0.0", "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=8" } }, - "node_modules/lcov-result-merger": { - "version": "5.0.1", - "dev": true, + "node_modules/path-is-absolute": { + "version": "1.0.1", "license": "MIT", - "dependencies": { - "fast-glob": "^3.2.11", - "yargs": "^16.2.0" - }, - "bin": { - "lcov-result-merger": "bin/lcov-result-merger.js" - }, "engines": { - "node": ">=14" + "node": ">=0.10.0" } }, - "node_modules/lcov-result-merger/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node_modules/path-is-inside": { + "version": "1.0.2", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/lcov-result-merger/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/path-parse": { + "version": "1.0.7", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.1", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=10" + "node": "20 || >=22" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/lcov-result-merger/node_modules/yargs": { - "version": "16.2.0", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.2.4", "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=10" + "node": "20 || >=22" } }, - "node_modules/lcov-result-merger/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/path-to-regexp": { + "version": "8.3.0", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/perfect-scrollbar": { + "version": "1.5.6", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pino": { + "version": "10.3.1", + "license": "MIT", + "dependencies": { + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^3.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^4.0.0" + }, + "bin": { + "pino": "bin.js" } }, - "node_modules/leven": { - "version": "3.1.0", - "dev": true, + "node_modules/pino-abstract-transport": { + "version": "2.0.0", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "split2": "^4.0.0" } }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, + "node_modules/pino-pretty": { + "version": "13.1.3", "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "colorette": "^2.0.7", + "dateformat": "^4.6.3", + "fast-copy": "^4.0.0", + "fast-safe-stringify": "^2.1.1", + "help-me": "^5.0.0", + "joycon": "^3.1.1", + "minimist": "^1.2.6", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^3.0.0", + "pump": "^3.0.0", + "secure-json-parse": "^4.0.0", + "sonic-boom": "^4.0.1", + "strip-json-comments": "^5.0.2" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "pino-pretty": "bin.js" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, + "node_modules/pino-pretty/node_modules/colorette": { + "version": "2.0.20", "license": "MIT" }, - "node_modules/load-esm": { - "version": "1.0.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - }, - { - "type": "buymeacoffee", - "url": "https://buymeacoffee.com/borewit" - } - ], + "node_modules/pino-pretty/node_modules/dateformat": { + "version": "4.6.3", "license": "MIT", "engines": { - "node": ">=13.2.0" + "node": "*" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, + "node_modules/pino-pretty/node_modules/pino-abstract-transport": { + "version": "3.0.0", "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" - }, + "split2": "^4.0.0" + } + }, + "node_modules/pino-pretty/node_modules/strip-json-comments": { + "version": "5.0.3", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.23", - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, + "node_modules/pino-std-serializers": { + "version": "7.1.0", "license": "MIT" }, - "node_modules/lodash.topath": { - "version": "4.5.2", - "dev": true, - "license": "MIT" + "node_modules/pino/node_modules/pino-abstract-transport": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "split2": "^4.0.0" + } }, - "node_modules/log-symbols": { - "version": "4.1.0", - "dev": true, + "node_modules/pino/node_modules/thread-stream": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "real-require": "^0.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=20" } }, - "node_modules/long": { - "version": "5.3.2", - "dev": true, - "license": "Apache-2.0" + "node_modules/pirates": { + "version": "4.0.7", + "license": "MIT", + "engines": { + "node": ">= 6" + } }, - "node_modules/loose-envify": { - "version": "1.4.0", + "node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, "license": "MIT", "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "find-up": "^4.0.0" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/lunr": { - "version": "2.3.9", - "dev": true, - "license": "MIT" - }, - "node_modules/magic-string": { - "version": "0.25.9", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/make-dir": { - "version": "4.0.0", + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.5.3" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-error": { - "version": "1.3.6", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, - "license": "ISC" - }, - "node_modules/makeerror": { - "version": "1.0.12", - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "tmpl": "1.0.5" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mark.js": { - "version": "8.11.1", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-escape": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/marked": { - "version": "4.3.0", - "dev": true, - "license": "MIT", + "node_modules/playwright": { + "version": "1.57.0", + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.57.0" + }, "bin": { - "marked": "bin/marked.js" + "playwright": "cli.js" }, "engines": { - "node": ">= 12" + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "license": "MIT", + "node_modules/playwright-core": { + "version": "1.57.0", + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/md5": { - "version": "2.3.0", - "license": "BSD-3-Clause", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" + "node": ">=18" } }, - "node_modules/media-typer": { - "version": "1.1.0", + "node_modules/pluralize": { + "version": "8.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=4" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", + "node_modules/polished": { + "version": "4.3.1", + "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "license": "MIT" + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/merge2": { - "version": "1.4.1", + "node_modules/pony-cause": { + "version": "1.1.1", "dev": true, - "license": "MIT", + "license": "0BSD", "engines": { - "node": ">= 8" + "node": ">=12.0.0" } }, - "node_modules/methods": { - "version": "1.1.2", + "node_modules/possible-typed-array-names": { + "version": "1.1.0", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/micromatch": { - "version": "4.0.8", + "node_modules/postcss": { + "version": "8.4.49", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8.6" + "node": "^10 || ^12 || >=14" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">= 0.8.0" } }, - "node_modules/mime": { - "version": "1.6.0", + "node_modules/prettier": { + "version": "3.8.0", + "dev": true, "license": "MIT", + "peer": true, "bin": { - "mime": "cli.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/mime-types": { - "version": "2.1.35", + "node_modules/prettier-linter-helpers": { + "version": "1.0.1", + "dev": true, "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">= 0.6" + "node": ">=6.0.0" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/pretty-format": { + "version": "30.2.0", "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/minimist": { - "version": "1.2.8", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", "license": "MIT", + "engines": { + "node": ">=10" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/minipass": { - "version": "7.1.2", + "node_modules/printable-characters": { + "version": "1.0.42", "dev": true, - "license": "ISC", + "license": "Unlicense" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=6" } }, - "node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/process": { + "version": "0.11.10", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">= 0.6.0" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", + "node_modules/process-nextick-args": { + "version": "2.0.1", "dev": true, "license": "MIT" }, - "node_modules/mnemonist": { - "version": "0.38.3", + "node_modules/process-warning": { + "version": "5.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "dev": true, "license": "MIT", "dependencies": { - "obliterator": "^1.6.1" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/mobx": { - "version": "6.15.0", + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "dev": true, + "license": "MIT" + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", "dev": true, "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" } }, - "node_modules/mobx-react": { - "version": "9.2.1", + "node_modules/properties-reader": { + "version": "2.3.0", "dev": true, "license": "MIT", "dependencies": { - "mobx-react-lite": "^4.1.1" + "mkdirp": "^1.0.4" + }, + "engines": { + "node": ">=14" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" + "type": "github", + "url": "https://github.com/steveukx/properties?sponsor=1" + } + }, + "node_modules/protobufjs": { + "version": "7.5.4", + "dev": true, + "hasInstallScript": 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" }, - "peerDependencies": { - "mobx": "^6.9.0", - "react": "^16.8.0 || ^17 || ^18 || ^19" + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "engines": { + "node": ">= 0.10" } }, - "node_modules/mobx-react-lite": { - "version": "4.1.1", + "node_modules/proxy-agent": { + "version": "6.5.0", "dev": true, "license": "MIT", "dependencies": { - "use-sync-external-store": "^1.4.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mobx" - }, - "peerDependencies": { - "mobx": "^6.9.0", - "react": "^16.8.0 || ^17 || ^18 || ^19" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, - "node_modules/mute-stream": { - "version": "0.0.8", + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": ">=12" + } }, - "node_modules/nan": { - "version": "2.25.0", - "dev": true, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.3", "license": "MIT", - "optional": true + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } }, - "node_modules/nanoid": { - "version": "3.3.11", + "node_modules/punycode": { + "version": "1.3.2", + "license": "MIT" + }, + "node_modules/pure-rand": { + "version": "7.0.1", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" } ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } + "license": "MIT" }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "dev": true, - "license": "MIT", - "bin": { - "napi-postinstall": "lib/cli.js" + "node_modules/qs": { + "version": "6.14.1", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" }, "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": ">=0.6" }, "funding": { - "url": "https://opencollective.com/napi-postinstall" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "license": "MIT" + "node_modules/querystring": { + "version": "0.2.0", + "engines": { + "node": ">=0.4.x" + } }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", + "node_modules/queue-microtask": { + "version": "1.2.3", "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" + } + ], "license": "MIT" }, - "node_modules/negotiator": { - "version": "0.6.3", + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "license": "MIT" + }, + "node_modules/ramda": { + "version": "0.32.0", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/randexp": { + "version": "0.5.3", "license": "MIT", + "dependencies": { + "drange": "^1.0.2", + "ret": "^0.2.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/neo-async": { - "version": "2.6.2", + "node_modules/randombytes": { + "version": "2.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } }, - "node_modules/netmask": { - "version": "2.0.2", - "dev": true, + "node_modules/range-parser": { + "version": "1.2.1", "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">= 0.6" } }, - "node_modules/nhs-notify-docs": { - "resolved": "docs", - "link": true - }, - "node_modules/nhs-notify-supplier-api-handler": { - "resolved": "lambdas/api-handler", - "link": true - }, - "node_modules/nhs-notify-supplier-api-letter-test-data-utility": { - "resolved": "scripts/utilities/letter-test-data", - "link": true - }, - "node_modules/nhs-notify-supplier-api-letter-updates-transformer": { - "resolved": "lambdas/letter-updates-transformer", - "link": true - }, - "node_modules/nhs-notify-supplier-api-mi-updates-transformer": { - "resolved": "lambdas/mi-updates-transformer", - "link": true - }, - "node_modules/nhs-notify-supplier-api-suppliers-data-utility": { - "resolved": "scripts/utilities/supplier-data", - "link": true - }, - "node_modules/nhs-notify-supplier-api-tests": { - "resolved": "tests", - "link": true - }, - "node_modules/nhs-notify-supplier-api-upsert-letter": { - "resolved": "lambdas/upsert-letter", - "link": true - }, - "node_modules/nhs-notify-supplier-authorizer": { - "resolved": "lambdas/authorizer", - "link": true - }, - "node_modules/nhsuk-frontend": { - "version": "10.3.1", + "node_modules/raw-body": { + "version": "3.0.2", "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, "engines": { - "node": "^20.9.0 || ^22.11.0 || ^24.11.0" + "node": ">= 0.10" } }, - "node_modules/nimma": { - "version": "0.2.3", - "dev": true, - "license": "Apache-2.0", + "node_modules/rc": { + "version": "1.2.8", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "@jsep-plugin/regex": "^1.0.1", - "@jsep-plugin/ternary": "^1.0.2", - "astring": "^1.8.1", - "jsep": "^1.2.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": "^12.20 || >=14.13" - }, - "optionalDependencies": { - "jsonpath-plus": "^6.0.1 || ^10.1.0", - "lodash.topath": "^4.5.2" + "node": ">=0.10.0" } }, - "node_modules/node-fetch": { - "version": "2.7.0", + "node_modules/react": { + "version": "19.2.4", "dev": 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": ">=0.10.0" } }, - "node_modules/node-fetch-h2": { - "version": "2.3.0", + "node_modules/react-dom": { + "version": "19.2.4", "dev": true, "license": "MIT", "dependencies": { - "http2-client": "^1.2.5" + "scheduler": "^0.27.0" }, - "engines": { - "node": "4.x || >=6.0.0" + "peerDependencies": { + "react": "^19.2.4" } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "dev": true, + "node_modules/react-is": { + "version": "19.0.0", "license": "MIT" }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", + "node_modules/react-tabs": { + "version": "6.1.0", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0" + } }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", + "node_modules/readable-stream": { + "version": "3.6.2", "dev": true, "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/node-gyp-build": { - "version": "4.8.4", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "node_modules/readdir-glob": { + "version": "1.1.3", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/node-readfiles": { - "version": "0.2.0", + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "es6-promise": "^3.2.1" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/node-releases": { - "version": "2.0.27", - "license": "MIT" - }, - "node_modules/node-sarif-builder": { - "version": "2.0.3", + "node_modules/readdirp": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "@types/sarif": "^2.1.4", - "fs-extra": "^10.0.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=14" + "node": ">=8.10.0" } }, - "node_modules/node-sarif-builder/node_modules/fs-extra": { - "version": "10.1.0", + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", "dev": true, "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, "engines": { - "node": ">=12" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/normalize-path": { - "version": "3.0.0", + "node_modules/real-require": { + "version": "0.2.0", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 12.13.0" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/redoc": { + "version": "2.4.0", + "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "@redocly/openapi-core": "^1.4.0", + "classnames": "^2.3.2", + "decko": "^1.2.0", + "dompurify": "^3.0.6", + "eventemitter3": "^5.0.1", + "json-pointer": "^0.6.2", + "lunr": "^2.3.9", + "mark.js": "^8.11.1", + "marked": "^4.3.0", + "mobx-react": "^9.1.1", + "openapi-sampler": "^1.5.0", + "path-browserify": "^1.0.1", + "perfect-scrollbar": "^1.5.5", + "polished": "^4.2.2", + "prismjs": "^1.29.0", + "prop-types": "^15.8.1", + "react-tabs": "^6.0.2", + "slugify": "~1.4.7", + "stickyfill": "^1.1.1", + "swagger2openapi": "^7.0.8", + "url-template": "^2.0.8" }, "engines": { - "node": ">=8" + "node": ">=6.9", + "npm": ">=3.0.0" + }, + "peerDependencies": { + "core-js": "^3.1.4", + "mobx": "^6.0.4", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" } }, - "node_modules/nwsapi": { - "version": "2.2.23", + "node_modules/redoc/node_modules/eventemitter3": { + "version": "5.0.4", "dev": true, "license": "MIT" }, - "node_modules/oas-kit-common": { - "version": "1.0.8", + "node_modules/refa": { + "version": "0.12.1", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "fast-safe-stringify": "^2.0.7" + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/oas-linter": { - "version": "3.2.2", + "node_modules/reflect-metadata": { + "version": "0.2.2", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@exodus/schemasafe": "^1.0.0-rc.2", - "should": "^13.2.1", - "yaml": "^1.10.0" - }, - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" - } + "license": "Apache-2.0" }, - "node_modules/oas-linter/node_modules/yaml": { - "version": "1.10.2", + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/oas-resolver": { - "version": "2.5.6", + "node_modules/reftools": { + "version": "1.1.9", "dev": true, "license": "BSD-3-Clause", - "dependencies": { - "node-fetch-h2": "^2.3.0", - "oas-kit-common": "^1.0.8", - "reftools": "^1.1.9", - "yaml": "^1.10.0", - "yargs": "^17.0.1" - }, - "bin": { - "resolve": "resolve.js" - }, "funding": { "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/oas-resolver/node_modules/yaml": { - "version": "1.10.2", + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, "engines": { - "node": ">= 6" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/oas-schema-walker": { - "version": "1.1.5", + "node_modules/regexp-tree": { + "version": "0.1.27", "dev": true, - "license": "BSD-3-Clause", - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "license": "MIT", + "bin": { + "regexp-tree": "bin/regexp-tree" } }, - "node_modules/oas-validator": { - "version": "5.0.8", + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "call-me-maybe": "^1.0.1", - "oas-kit-common": "^1.0.8", - "oas-linter": "^3.2.2", - "oas-resolver": "^2.5.6", - "oas-schema-walker": "^1.1.5", - "reftools": "^1.1.9", - "should": "^13.2.1", - "yaml": "^1.10.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/oas-validator/node_modules/yaml": { - "version": "1.10.2", - "dev": true, - "license": "ISC", + "node_modules/registry-auth-token": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/regjsparser": { + "version": "0.13.0", "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.13.4", + "node_modules/require-from-string": { + "version": "2.0.2", "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/requires-port": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/reserved": { + "version": "0.1.2", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=0.8" } }, - "node_modules/object.assign": { - "version": "4.1.7", + "node_modules/resolve": { + "version": "1.22.11", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { "node": ">= 0.4" @@ -13877,265 +19095,196 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.9", + "node_modules/resolve-cwd": { + "version": "3.0.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, - "node_modules/object.fromentries": { - "version": "2.0.8", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/object.groupby": { - "version": "1.0.3", + "node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=4" } }, - "node_modules/object.values": { - "version": "1.2.1", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obliterator": { - "version": "1.6.1", - "license": "MIT" - }, - "node_modules/on-exit-leak-free": { - "version": "2.1.2", - "license": "MIT", - "engines": { - "node": ">=14.0.0" + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/on-finished": { - "version": "2.4.1", + "node_modules/restore-cursor": { + "version": "3.1.0", + "dev": true, "license": "MIT", "dependencies": { - "ee-first": "1.1.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/on-headers": { - "version": "1.1.0", + "node_modules/ret": { + "version": "0.2.2", "license": "MIT", "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" + "node": ">=4" } }, - "node_modules/onetime": { - "version": "5.1.2", + "node_modules/retry": { + "version": "0.12.0", + "dev": true, "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/openapi-response-validator": { - "version": "12.1.3", - "license": "MIT", - "dependencies": { - "ajv": "^8.4.0", - "openapi-types": "^12.1.3" + "node": ">= 4" } }, - "node_modules/openapi-sampler": { - "version": "1.6.2", + "node_modules/reusify": { + "version": "1.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.7", - "fast-xml-parser": "^4.5.0", - "json-pointer": "0.6.2" + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/openapi-types": { - "version": "12.1.3", - "license": "MIT" - }, - "node_modules/openapi-typescript": { - "version": "7.12.0", + "node_modules/rollup": { + "version": "2.79.2", "dev": true, "license": "MIT", - "dependencies": { - "@redocly/openapi-core": "^1.34.6", - "ansi-colors": "^4.1.3", - "change-case": "^5.4.4", - "parse-json": "^8.3.0", - "supports-color": "^10.2.2", - "yargs-parser": "^21.1.1" - }, "bin": { - "openapi-typescript": "bin/cli.js" + "rollup": "dist/bin/rollup" }, - "peerDependencies": { - "typescript": "^5.x" + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/openapi-typescript/node_modules/@redocly/config": { - "version": "0.22.2", - "dev": true, - "license": "MIT" - }, - "node_modules/openapi-typescript/node_modules/@redocly/openapi-core": { - "version": "1.34.6", - "dev": true, + "node_modules/router": { + "version": "2.2.0", "license": "MIT", "dependencies": { - "@redocly/ajv": "^8.11.2", - "@redocly/config": "^0.22.0", - "colorette": "^1.2.0", - "https-proxy-agent": "^7.0.5", - "js-levenshtein": "^1.1.6", - "js-yaml": "^4.1.0", - "minimatch": "^5.0.1", - "pluralize": "^8.0.0", - "yaml-ast-parser": "0.0.43" + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" }, "engines": { - "node": ">=18.17.0", - "npm": ">=9.5.0" + "node": ">= 18" } }, - "node_modules/openapi-typescript/node_modules/parse-json": { - "version": "8.3.0", + "node_modules/rrweb-cssom": { + "version": "0.8.0", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "index-to-position": "^1.1.0", - "type-fest": "^4.39.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/openapi-typescript/node_modules/supports-color": { - "version": "10.2.2", + "node_modules/run-async": { + "version": "2.4.1", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=0.12.0" } }, - "node_modules/openapi-typescript/node_modules/type-fest": { - "version": "4.41.0", + "node_modules/run-parallel": { + "version": "1.2.0", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "node_modules/optionator": { - "version": "0.9.4", + "node_modules/rxjs": { + "version": "7.8.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" + "tslib": "^2.1.0" } }, - "node_modules/ora": { - "version": "5.4.1", + "node_modules/safe-array-concat": { + "version": "1.1.3", "dev": true, "license": "MIT", "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" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" }, "engines": { - "node": ">=10" + "node": ">=0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/own-keys": { - "version": "1.0.1", + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", "dev": true, "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" + "es-errors": "^1.3.0", + "isarray": "^2.0.5" }, "engines": { "node": ">= 0.4" @@ -14144,974 +19293,1015 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-limit": { - "version": "3.1.0", + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "2.1.1", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "regexp-tree": "~0.1.1" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, + "node_modules/safe-regex-test": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-try": { - "version": "2.2.0", + "node_modules/safe-stable-stringify": { + "version": "2.5.0", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/pac-proxy-agent": { - "version": "7.2.0", + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.2.1", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "6.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.6", - "pac-resolver": "^7.0.1", - "socks-proxy-agent": "^8.0.5" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">= 14" + "node": ">=v12.22.7" } }, - "node_modules/pac-resolver": { - "version": "7.0.1", + "node_modules/scheduler": { + "version": "0.27.0", + "dev": true, + "license": "MIT" + }, + "node_modules/scslre": { + "version": "0.3.0", "dev": true, "license": "MIT", "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" }, "engines": { - "node": ">= 14" + "node": "^14.0.0 || >=16.0.0" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "dev": true, - "license": "BlueOak-1.0.0" + "node_modules/secure-json-parse": { + "version": "4.1.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" + "node_modules/semver": { + "version": "7.7.3", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, + "node_modules/send": { + "version": "1.2.1", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/parse5": { - "version": "7.3.0", - "dev": true, + "node_modules/serve": { + "version": "14.2.5", "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.6", + "update-check": "1.5.4" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "node_modules/serve-handler": { + "version": "6.1.6", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" } }, - "node_modules/parseurl": { - "version": "1.3.3", + "node_modules/serve-handler/node_modules/brace-expansion": { + "version": "1.1.12", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", + "node_modules/serve-handler/node_modules/content-disposition": { + "version": "0.5.2", "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "2.0.1", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/serve-handler/node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.2.5", - "dev": true, - "license": "BlueOak-1.0.0", + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "3.3.0", + "license": "MIT" + }, + "node_modules/serve-handler/node_modules/range-parser": { + "version": "1.2.0", + "license": "MIT", "engines": { - "node": "20 || >=22" + "node": ">= 0.6" } }, - "node_modules/path-to-regexp": { - "version": "8.3.0", + "node_modules/serve-static": { + "version": "2.2.1", "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/perfect-scrollbar": { - "version": "1.5.6", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "license": "ISC" + "node_modules/serve/node_modules/ajv": { + "version": "8.12.0", + "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/picomatch": { - "version": "4.0.3", + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", "license": "MIT", "engines": { - "node": ">=12" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/pino": { - "version": "10.3.0", + "node_modules/set-function-length": { + "version": "1.2.2", "license": "MIT", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^3.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^4.0.0" + "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" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">= 0.4" } }, - "node_modules/pino-abstract-transport": { - "version": "2.0.0", + "node_modules/set-function-name": { + "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { - "split2": "^4.0.0" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/pino-pretty": { - "version": "13.1.3", + "node_modules/set-proto": { + "version": "1.0.0", + "dev": true, "license": "MIT", "dependencies": { - "colorette": "^2.0.7", - "dateformat": "^4.6.3", - "fast-copy": "^4.0.0", - "fast-safe-stringify": "^2.1.1", - "help-me": "^5.0.0", - "joycon": "^3.1.1", - "minimist": "^1.2.6", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^3.0.0", - "pump": "^3.0.0", - "secure-json-parse": "^4.0.0", - "sonic-boom": "^4.0.1", - "strip-json-comments": "^5.0.2" + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" }, - "bin": { - "pino-pretty": "bin.js" + "engines": { + "node": ">= 0.4" } }, - "node_modules/pino-pretty/node_modules/colorette": { - "version": "2.0.20", + "node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "dev": true, "license": "MIT" }, - "node_modules/pino-pretty/node_modules/dateformat": { - "version": "4.6.3", + "node_modules/shebang-command": { + "version": "2.0.0", "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/pino-pretty/node_modules/pino-abstract-transport": { + "node_modules/shebang-regex": { "version": "3.0.0", "license": "MIT", - "dependencies": { - "split2": "^4.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/pino-pretty/node_modules/strip-json-comments": { - "version": "5.0.3", + "node_modules/shell-quote": { + "version": "1.8.3", + "dev": true, "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pino-std-serializers": { - "version": "7.1.0", - "license": "MIT" - }, - "node_modules/pino/node_modules/pino-abstract-transport": { - "version": "3.0.0", + "node_modules/should": { + "version": "13.2.3", + "dev": true, "license": "MIT", "dependencies": { - "split2": "^4.0.0" + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" } }, - "node_modules/pino/node_modules/thread-stream": { - "version": "4.0.0", + "node_modules/should-equal": { + "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { - "real-require": "^0.2.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "license": "MIT", - "engines": { - "node": ">= 6" + "should-type": "^1.4.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", + "node_modules/should-format": { + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", + "node_modules/should-type": { + "version": "1.4.0", "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", + "node_modules/should-type-adaptors": { + "version": "1.1.0", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" + "should-type": "^1.3.0", + "should-util": "^1.0.0" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", + "node_modules/should-util": { + "version": "1.0.1", "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, + "node_modules/side-channel-list": { + "version": "1.0.0", "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/playwright": { - "version": "1.58.2", - "license": "Apache-2.0", + "node_modules/side-channel-map": { + "version": "1.0.1", + "license": "MIT", "dependencies": { - "playwright-core": "1.58.2" - }, - "bin": { - "playwright": "cli.js" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, - "optionalDependencies": { - "fsevents": "2.3.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/playwright-core": { - "version": "1.58.2", - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pluralize": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" }, - "node_modules/polished": { - "version": "4.3.1", + "node_modules/simple-eval": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.17.8" + "jsep": "^1.3.6" }, "engines": { - "node": ">=10" - } - }, - "node_modules/pony-cause": { - "version": "1.1.1", - "dev": true, - "license": "0BSD", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" + "node": ">=12" } }, - "node_modules/postcss": { - "version": "8.4.49", + "node_modules/simple-websocket": { + "version": "9.1.0", "dev": true, "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "debug": "^4.3.1", + "queue-microtask": "^1.2.2", + "randombytes": "^2.1.0", + "readable-stream": "^3.6.0", + "ws": "^7.4.2" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", + "node_modules/simple-websocket/node_modules/ws": { + "version": "7.5.10", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, + "node_modules/slash": { + "version": "3.0.0", "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/prettier": { - "version": "3.8.1", + "node_modules/slugify": { + "version": "1.4.7", "dev": true, "license": "MIT", - "peer": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.1", + "node_modules/smart-buffer": { + "version": "4.2.0", "dev": true, "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, "engines": { - "node": ">=6.0.0" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/pretty-format": { - "version": "30.2.0", + "node_modules/socks": { + "version": "2.8.7", + "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">= 14" } }, - "node_modules/printable-characters": { - "version": "1.0.42", - "dev": true, - "license": "Unlicense" - }, - "node_modules/prismjs": { - "version": "1.30.0", - "dev": true, + "node_modules/sonic-boom": { + "version": "4.2.0", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "atomic-sleep": "^1.0.0" } }, - "node_modules/process": { - "version": "0.11.10", + "node_modules/source-map": { + "version": "0.6.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.6.0" + "node": ">=0.10.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/process-warning": { - "version": "5.0.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "MIT" + "node_modules/source-map-js": { + "version": "1.2.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/prop-types": { - "version": "15.8.1", + "node_modules/source-map-support": { + "version": "0.5.13", "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", + "node_modules/sourcemap-codec": { + "version": "1.4.8", "dev": true, "license": "MIT" }, - "node_modules/proper-lockfile": { - "version": "4.1.2", + "node_modules/split-ca": { + "version": "1.0.1", + "dev": true, + "license": "ISC" + }, + "node_modules/split2": { + "version": "4.2.0", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/ssh-remote-port-forward": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" + "@types/ssh2": "^0.5.48", + "ssh2": "^1.4.0" } }, - "node_modules/proper-lockfile/node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/ssh-remote-port-forward/node_modules/@types/ssh2": { + "version": "0.5.52", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/ssh2-streams": "*" + } }, - "node_modules/properties-reader": { - "version": "2.3.0", + "node_modules/ssh2": { + "version": "1.17.0", "dev": true, - "license": "MIT", + "hasInstallScript": true, "dependencies": { - "mkdirp": "^1.0.4" + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" }, "engines": { - "node": ">=14" + "node": ">=10.16.0" }, - "funding": { - "type": "github", - "url": "https://github.com/steveukx/properties?sponsor=1" + "optionalDependencies": { + "cpu-features": "~0.0.10", + "nan": "^2.23.0" } }, - "node_modules/protobufjs": { - "version": "7.5.4", + "node_modules/stable-hash": { + "version": "0.0.5", "dev": true, - "hasInstallScript": 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" - }, + "license": "MIT" + }, + "node_modules/stable-hash-x": { + "version": "0.2.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=12.0.0" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", + "node_modules/stack-utils": { + "version": "2.0.6", "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=10" } }, - "node_modules/proxy-agent": { - "version": "6.5.0", - "dev": true, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.6", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.1.0", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.5" - }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", + "node_modules/stacktracey": { + "version": "2.1.8", "dev": true, - "license": "ISC", + "license": "Unlicense", + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" + "node_modules/stickyfill": { + "version": "1.1.1", + "dev": true }, - "node_modules/pump": { - "version": "3.0.3", + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/punycode": { - "version": "1.3.2", - "license": "MIT" + "node_modules/streamx": { + "version": "2.23.0", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } }, - "node_modules/pure-rand": { - "version": "7.0.1", + "node_modules/string_decoder": { + "version": "1.3.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, - "node_modules/qs": { - "version": "6.14.1", - "license": "BSD-3-Clause", + "node_modules/string-length": { + "version": "4.0.2", + "dev": true, + "license": "MIT", "dependencies": { - "side-channel": "^1.1.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/querystring": { - "version": "0.2.0", + "node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.4.x" + "node": ">=8" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "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" - } - ], - "license": "MIT" - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "license": "MIT" - }, - "node_modules/ramda": { - "version": "0.32.0", "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/randexp": { - "version": "0.5.3", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { - "drange": "^1.0.2", - "ret": "^0.2.0" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, - "node_modules/randombytes": { - "version": "2.1.0", + "node_modules/string.prototype.matchall": { + "version": "4.0.12", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/range-parser": { - "version": "1.2.1", + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, - "node_modules/raw-body": { - "version": "3.0.2", + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "dev": true, "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "node": ">= 0.4" }, - "bin": { - "rc": "cli.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react": { - "version": "19.2.4", + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-dom": { - "version": "19.2.4", - "dev": true, + "node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", "dependencies": { - "scheduler": "^0.27.0" + "ansi-regex": "^5.0.1" }, - "peerDependencies": { - "react": "^19.2.4" + "engines": { + "node": ">=8" } }, - "node_modules/react-is": { - "version": "19.0.0", - "license": "MIT" - }, - "node_modules/react-tabs": { - "version": "6.1.0", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "clsx": "^2.0.0", - "prop-types": "^15.5.0" + "ansi-regex": "^5.0.1" }, - "peerDependencies": { - "react": "^18.0.0 || ^19.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/strip-bom": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" + "node_modules/strip-final-newline": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/strip-indent": { + "version": "4.1.1", "dev": true, "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/real-require": { - "version": "0.2.0", + "node_modules/strnum": { + "version": "2.1.2", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/strtok3": { + "version": "10.3.4", + "dev": true, "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, "engines": { - "node": ">= 12.13.0" + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/redoc": { - "version": "2.4.0", + "node_modules/styled-components": { + "version": "6.3.9", "dev": true, "license": "MIT", "dependencies": { - "@redocly/openapi-core": "^1.4.0", - "classnames": "^2.3.2", - "decko": "^1.2.0", - "dompurify": "^3.0.6", - "eventemitter3": "^5.0.1", - "json-pointer": "^0.6.2", - "lunr": "^2.3.9", - "mark.js": "^8.11.1", - "marked": "^4.3.0", - "mobx-react": "^9.1.1", - "openapi-sampler": "^1.5.0", - "path-browserify": "^1.0.1", - "perfect-scrollbar": "^1.5.5", - "polished": "^4.2.2", - "prismjs": "^1.29.0", - "prop-types": "^15.8.1", - "react-tabs": "^6.0.2", - "slugify": "~1.4.7", - "stickyfill": "^1.1.1", - "swagger2openapi": "^7.0.8", - "url-template": "^2.0.8" + "@emotion/is-prop-valid": "1.4.0", + "@emotion/unitless": "0.10.0", + "@types/stylis": "4.2.7", + "css-to-react-native": "3.2.0", + "csstype": "3.2.3", + "postcss": "8.4.49", + "shallowequal": "1.1.0", + "stylis": "4.3.6", + "tslib": "2.8.1" }, "engines": { - "node": ">=6.9", - "npm": ">=3.0.0" + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" }, "peerDependencies": { - "core-js": "^3.1.4", - "mobx": "^6.0.4", - "react": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } } }, - "node_modules/redoc/node_modules/eventemitter3": { - "version": "5.0.4", + "node_modules/stylis": { + "version": "4.3.6", "dev": true, "license": "MIT" }, - "node_modules/refa": { - "version": "0.12.1", - "dev": true, + "node_modules/supports-color": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.8.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, "engines": { "node": ">= 0.4" }, @@ -15119,298 +20309,264 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/reftools": { - "version": "1.1.9", + "node_modules/swagger2openapi": { + "version": "7.0.8", "dev": true, "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, "funding": { "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/regexp-ast-analysis": { - "version": "0.7.1", + "node_modules/swagger2openapi/node_modules/yaml": { + "version": "1.10.2", "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.8.0", - "refa": "^0.12.1" - }, + "license": "ISC", "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">= 6" } }, - "node_modules/regexp-tree": { - "version": "0.1.27", + "node_modules/symbol-tree": { + "version": "3.2.4", "dev": true, - "license": "MIT", - "bin": { - "regexp-tree": "bin/regexp-tree" - } + "license": "MIT" }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "dev": true, + "node_modules/synckit": { + "version": "0.11.12", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" + "@pkgr/core": "^0.2.9" }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/synckit" } }, - "node_modules/registry-auth-token": { - "version": "3.3.2", + "node_modules/tar-fs": { + "version": "3.1.1", + "dev": true, "license": "MIT", "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" } }, - "node_modules/registry-url": { - "version": "3.1.0", + "node_modules/tar-stream": { + "version": "3.1.7", + "dev": true, "license": "MIT", "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, - "node_modules/regjsparser": { - "version": "0.13.0", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/test-exclude": { + "version": "6.0.0", + "license": "ISC", "dependencies": { - "jsesc": "~3.1.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/require-from-string": { - "version": "2.0.2", + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.12", "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/reserved": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">=0.8" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/resolve": { - "version": "1.22.11", - "dev": true, - "license": "MIT", + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "license": "ISC", "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "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": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "license": "ISC", "dependencies": { - "resolve-from": "^5.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/testcontainers": { + "version": "11.11.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@balena/dockerignore": "^1.0.2", + "@types/dockerode": "^3.3.47", + "archiver": "^7.0.1", + "async-lock": "^1.4.1", + "byline": "^5.0.0", + "debug": "^4.4.3", + "docker-compose": "^1.3.0", + "dockerode": "^4.0.9", + "get-port": "^7.1.0", + "proper-lockfile": "^4.1.2", + "properties-reader": "^2.3.0", + "ssh-remote-port-forward": "^1.0.4", + "tar-fs": "^3.1.1", + "tmp": "^0.2.5", + "undici": "^7.16.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/testcontainers/node_modules/undici": { + "version": "7.20.0", "dev": true, "license": "MIT", "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "node": ">=20.18.1" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", + "node_modules/text-decoder": { + "version": "1.2.3", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" + "b4a": "^1.6.4" } }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/text-table": { + "version": "0.2.0", "dev": true, - "license": "ISC" - }, - "node_modules/ret": { - "version": "0.2.2", - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/retry": { - "version": "0.12.0", - "dev": true, + "node_modules/thread-stream": { + "version": "3.1.0", "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "real-require": "^0.2.0" } }, - "node_modules/reusify": { - "version": "1.1.0", + "node_modules/through": { + "version": "2.3.8", "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/rollup": { - "version": "2.79.2", + "node_modules/tinyglobby": { + "version": "0.2.15", "dev": true, "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/router": { - "version": "2.2.0", + "node_modules/tldts": { + "version": "6.1.86", + "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" + "tldts-core": "^6.1.86" }, - "engines": { - "node": ">= 18" + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/rrweb-cssom": { - "version": "0.8.0", + "node_modules/tldts-core": { + "version": "6.1.86", "dev": true, "license": "MIT" }, - "node_modules/run-async": { - "version": "2.4.1", + "node_modules/tmp": { + "version": "0.2.5", "dev": true, "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">=14.14" } }, - "node_modules/run-parallel": { - "version": "1.2.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" - } - ], + "node_modules/tmpl": { + "version": "1.0.5", + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/rxjs": { - "version": "7.8.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.6" } }, - "node_modules/safe-array-concat": { - "version": "1.1.3", + "node_modules/token-types": { + "version": "6.1.2", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" + "@borewit/text-codec": "^0.2.1", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" }, "engines": { - "node": ">=0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", + "node_modules/token-types/node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "license": "MIT" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", "funding": [ { "type": "github", @@ -15425,468 +20581,624 @@ "url": "https://feross.org/support" } ], - "license": "MIT" + "license": "BSD-3-Clause" }, - "node_modules/safe-push-apply": { - "version": "1.0.0", + "node_modules/tough-cookie": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" + "tldts": "^6.1.32" }, "engines": { - "node": ">= 0.4" + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=18" } }, - "node_modules/safe-push-apply/node_modules/isarray": { - "version": "2.0.5", + "node_modules/tr46/node_modules/punycode": { + "version": "2.3.1", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/safe-regex": { - "version": "2.1.1", + "node_modules/tree-kill": { + "version": "1.2.2", "dev": true, "license": "MIT", - "dependencies": { - "regexp-tree": "~0.1.1" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/safe-regex-test": { - "version": "1.1.0", + "node_modules/ts-api-utils": { + "version": "2.4.0", + "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, "engines": { - "node": ">= 0.4" + "node": ">=18.12" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "typescript": ">=4.8.4" } }, - "node_modules/safe-stable-stringify": { - "version": "2.5.0", + "node_modules/ts-essentials": { + "version": "10.1.1", + "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "peerDependencies": { + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" + "node_modules/ts-jest": { + "version": "29.4.6", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.8", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.3", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } + } }, - "node_modules/sax": { - "version": "1.2.1", - "license": "ISC" + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/saxes": { - "version": "6.0.0", + "node_modules/ts-node": { + "version": "10.9.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "xmlchars": "^2.2.0" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">=v12.22.7" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/scheduler": { - "version": "0.27.0", + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", "dev": true, "license": "MIT" }, - "node_modules/scslre": { - "version": "0.3.0", + "node_modules/tsconfig-paths": { + "version": "3.15.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.8.0", - "refa": "^0.12.0", - "regexp-ast-analysis": "^0.7.0" - }, - "engines": { - "node": "^14.0.0 || >=16.0.0" - } - }, - "node_modules/secure-json-parse": { - "version": "4.1.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/semver": { - "version": "7.7.4", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/send": { - "version": "0.19.2", + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" + "minimist": "^1.2.0" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" + "node_modules/tslib": { + "version": "2.8.1", + "license": "0BSD" }, - "node_modules/serve": { - "version": "14.2.5", + "node_modules/tsx": { + "version": "4.21.0", + "dev": true, "license": "MIT", "dependencies": { - "@zeit/schemas": "2.36.0", - "ajv": "8.12.0", - "arg": "5.0.2", - "boxen": "7.0.0", - "chalk": "5.0.1", - "chalk-template": "0.4.0", - "clipboardy": "3.0.0", - "compression": "1.8.1", - "is-port-reachable": "4.0.0", - "serve-handler": "6.1.6", - "update-check": "1.5.4" + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" }, "bin": { - "serve": "build/main.js" + "tsx": "dist/cli.mjs" }, "engines": { - "node": ">= 14" + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" } }, - "node_modules/serve-handler": { - "version": "6.1.6", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "mime-types": "2.1.18", - "minimatch": "3.1.2", - "path-is-inside": "1.0.2", - "path-to-regexp": "3.3.0", - "range-parser": "1.2.0" - } + "node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "license": "Unlicense" }, - "node_modules/serve-handler/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/serve-handler/node_modules/bytes": { - "version": "3.0.0", - "license": "MIT", + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/serve-handler/node_modules/content-disposition": { - "version": "0.5.2", + "node_modules/type-detect": { + "version": "4.0.8", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "license": "MIT", + "node_modules/type-fest": { + "version": "0.21.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", + "node_modules/type-is": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "mime-db": "~1.33.0" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 0.6" } }, - "node_modules/serve-handler/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": "*" - } - }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "3.3.0", - "license": "MIT" - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/serve-static": { - "version": "1.16.3", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve/node_modules/ajv": { - "version": "8.12.0", - "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" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve/node_modules/chalk": { - "version": "5.0.1", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "dev": true, "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-length": { - "version": "1.2.2", + "node_modules/typed-array-length": { + "version": "1.0.7", + "dev": true, "license": "MIT", "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/set-function-name": { - "version": "2.0.2", + "node_modules/typescript": { + "version": "5.9.3", "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 0.4" + "node": ">=14.17" } }, - "node_modules/set-proto": { - "version": "1.0.0", + "node_modules/typescript-eslint": { + "version": "8.53.0", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" + "@typescript-eslint/eslint-plugin": "8.53.0", + "@typescript-eslint/parser": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "license": "ISC" - }, - "node_modules/shallowequal": { - "version": "1.1.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.53.0", "dev": true, - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/type-utils": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.53.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { + "version": "8.53.0", + "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3" + }, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/shell-quote": { - "version": "1.8.3", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/project-service": { + "version": "8.53.0", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.53.0", + "@typescript-eslint/types": "^8.53.0", + "debug": "^4.4.3" + }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/should": { - "version": "13.2.3", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { + "version": "8.53.0", "dev": true, "license": "MIT", "dependencies": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/should-equal": { - "version": "2.0.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.53.0", "dev": true, "license": "MIT", - "dependencies": { - "should-type": "^1.4.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/should-format": { - "version": "3.0.3", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { + "version": "8.53.0", "dev": true, "license": "MIT", "dependencies": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0", + "@typescript-eslint/utils": "8.53.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/should-type": { - "version": "1.4.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { + "version": "8.53.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } }, - "node_modules/should-type-adaptors": { - "version": "1.1.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.53.0", "dev": true, "license": "MIT", "dependencies": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" + "@typescript-eslint/project-service": "8.53.0", + "@typescript-eslint/tsconfig-utils": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/visitor-keys": "8.53.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/should-util": { - "version": "1.0.1", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { + "version": "8.53.0", "dev": true, - "license": "MIT" - }, - "node_modules/side-channel": { - "version": "1.1.0", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.53.0", + "@typescript-eslint/types": "8.53.0", + "@typescript-eslint/typescript-estree": "8.53.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/side-channel-list": { - "version": "1.0.0", + "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.53.0", + "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "@typescript-eslint/types": "8.53.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": ">= 0.4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", + "node_modules/uglify-js": { + "version": "3.19.3", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid": { + "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" + "@lukeed/csprng": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" + } + }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", + "node_modules/unbox-primitive": { + "version": "1.1.0", + "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -15895,368 +21207,395 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "license": "ISC", + "node_modules/underscore": { + "version": "1.13.7", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 10.0.0" } }, - "node_modules/simple-eval": { - "version": "1.0.1", + "node_modules/unpipe": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", "dev": true, + "hasInstallScript": true, "license": "MIT", "dependencies": { - "jsep": "^1.3.6" + "napi-postinstall": "^0.3.0" }, - "engines": { - "node": ">=12" + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" } }, - "node_modules/simple-websocket": { - "version": "9.1.0", - "dev": true, + "node_modules/update-browserslist-db": { + "version": "1.2.3", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", "dependencies": { - "debug": "^4.3.1", - "queue-microtask": "^1.2.2", - "randombytes": "^2.1.0", - "readable-stream": "^3.6.0", - "ws": "^7.4.2" - } - }, - "node_modules/simple-websocket/node_modules/ws": { - "version": "7.5.10", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "bin": { + "update-browserslist-db": "cli.js" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/slash": { - "version": "3.0.0", + "node_modules/update-check": { + "version": "1.5.4", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" } }, - "node_modules/slugify": { - "version": "1.4.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "dev": true, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", "license": "MIT", "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=6" } }, - "node_modules/socks": { - "version": "2.8.7", + "node_modules/urijs": { + "version": "1.19.11", "dev": true, + "license": "MIT" + }, + "node_modules/url": { + "version": "0.10.3", "license": "MIT", "dependencies": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", + "node_modules/url-template": { + "version": "2.0.8", + "dev": true, + "license": "BSD" + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/sonic-boom": { - "version": "4.2.0", + "node_modules/util": { + "version": "0.12.5", "license": "MIT", "dependencies": { - "atomic-sleep": "^1.0.0" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "node_modules/source-map": { - "version": "0.6.1", + "node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/utils-merge": { + "version": "1.0.1", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.4.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, + "node_modules/uuid": { + "version": "8.0.0", "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", "dev": true, "license": "MIT" }, - "node_modules/split-ca": { - "version": "1.0.1", + "node_modules/v8-to-istanbul": { + "version": "9.3.0", "dev": true, - "license": "ISC" - }, - "node_modules/split2": { - "version": "4.2.0", "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, "engines": { - "node": ">= 10.x" + "node": ">=10.12.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" - }, - "node_modules/ssh-remote-port-forward": { - "version": "1.0.4", + "node_modules/validate-npm-package-name": { + "version": "3.0.0", "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/vary": { + "version": "1.1.2", "license": "MIT", - "dependencies": { - "@types/ssh2": "^0.5.48", - "ssh2": "^1.4.0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/ssh-remote-port-forward/node_modules/@types/ssh2": { - "version": "0.5.52", + "node_modules/vscode-json-languageservice": { + "version": "4.2.1", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/ssh2-streams": "*" + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.3", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.3" } }, - "node_modules/ssh2": { - "version": "1.17.0", + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", "dev": true, - "hasInstallScript": true, - "dependencies": { - "asn1": "^0.2.6", - "bcrypt-pbkdf": "^1.0.2" - }, - "engines": { - "node": ">=10.16.0" - }, - "optionalDependencies": { - "cpu-features": "~0.0.10", - "nan": "^2.23.0" - } + "license": "MIT" }, - "node_modules/stable-hash": { - "version": "0.0.5", + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", "dev": true, "license": "MIT" }, - "node_modules/stable-hash-x": { - "version": "0.2.0", + "node_modules/vscode-nls": { + "version": "5.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - } + "license": "MIT" }, - "node_modules/stack-utils": { - "version": "2.0.6", + "node_modules/vscode-uri": { + "version": "3.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "escape-string-regexp": "^2.0.0" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "node_modules/walker": { + "version": "1.0.8", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/stacktracey": { - "version": "2.1.8", + "node_modules/wcwidth": { + "version": "1.0.1", "dev": true, - "license": "Unlicense", + "license": "MIT", "dependencies": { - "as-table": "^1.0.36", - "get-source": "^2.0.12" + "defaults": "^1.0.3" } }, - "node_modules/statuses": { - "version": "2.0.2", - "license": "MIT", + "node_modules/webidl-conversions": { + "version": "7.0.0", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/stickyfill": { - "version": "1.1.1", - "dev": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", + "node_modules/whatwg-encoding": { + "version": "3.1.1", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" + "iconv-lite": "0.6.3" }, "engines": { - "node": ">= 0.4" + "node": ">=18" } }, - "node_modules/streamx": { - "version": "2.23.0", + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, "license": "MIT", "dependencies": { - "events-universal": "^1.0.0", - "fast-fifo": "^1.3.2", - "text-decoder": "^1.1.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/whatwg-mimetype": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" + "engines": { + "node": ">=18" } }, - "node_modules/string-length": { - "version": "4.0.2", + "node_modules/whatwg-url": { + "version": "14.2.0", "dev": true, "license": "MIT", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/string-width": { - "version": "4.2.3", - "license": "MIT", + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", + "node_modules/which-boxed-primitive": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "license": "MIT" - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", + "node_modules/which-builtin-type": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -16265,27 +21604,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "dev": true, + "node_modules/which-typed-array": { + "version": "1.1.20", "license": "MIT", "dependencies": { + "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16294,1974 +21623,2225 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "dev": true, + "node_modules/widest-line": { + "version": "4.0.1", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "string-width": "^5.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "dev": true, + "node_modules/widest-line/node_modules/ansi-regex": { + "version": "6.2.2", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "dev": true, + "node_modules/widest-line/node_modules/strip-ansi": { + "version": "7.1.2", "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-bom": { - "version": "4.0.0", + "node_modules/word-wrap": { + "version": "1.2.5", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=6" - } + "node_modules/wordwrap": { + "version": "1.0.0", + "dev": true, + "license": "MIT" }, - "node_modules/strip-indent": { - "version": "4.1.1", + "node_modules/wrap-ansi": { + "version": "6.2.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", "dev": true, "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/strnum": { - "version": "2.1.2", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT" + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" }, - "node_modules/strtok3": { - "version": "10.3.4", - "dev": true, - "license": "MIT", + "node_modules/write-file-atomic": { + "version": "5.0.1", + "license": "ISC", "dependencies": { - "@tokenizer/token": "^0.3.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=18" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "license": "ISC", + "engines": { + "node": ">=14" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/styled-components": { - "version": "6.3.9", + "node_modules/ws": { + "version": "8.19.0", "dev": true, "license": "MIT", - "dependencies": { - "@emotion/is-prop-valid": "1.4.0", - "@emotion/unitless": "0.10.0", - "@types/stylis": "4.2.7", - "css-to-react-native": "3.2.0", - "csstype": "3.2.3", - "postcss": "8.4.49", - "shallowequal": "1.1.0", - "stylis": "4.3.6", - "tslib": "2.8.1" - }, "engines": { - "node": ">= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" + "node": ">=10.0.0" }, "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { - "react-dom": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "node_modules/stylis": { - "version": "4.3.6", + "node_modules/xml-name-validator": { + "version": "5.0.0", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/xml2js": { + "version": "0.6.2", "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" }, "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swagger2openapi": { - "version": "7.0.8", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "call-me-maybe": "^1.0.1", - "node-fetch": "^2.6.1", - "node-fetch-h2": "^2.3.0", - "node-readfiles": "^0.2.0", - "oas-kit-common": "^1.0.8", - "oas-resolver": "^2.5.6", - "oas-schema-walker": "^1.1.5", - "oas-validator": "^5.0.8", - "reftools": "^1.1.9", - "yaml": "^1.10.0", - "yargs": "^17.0.1" - }, - "bin": { - "boast": "boast.js", - "oas-validate": "oas-validate.js", - "swagger2openapi": "swagger2openapi.js" - }, - "funding": { - "url": "https://github.com/Mermade/oas-kit?sponsor=1" + "node": ">=4.0" } }, - "node_modules/swagger2openapi/node_modules/yaml": { - "version": "1.10.2", + "node_modules/xmlbuilder": { + "version": "15.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=8.0" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", + "node_modules/xmlchars": { + "version": "2.2.0", "dev": true, "license": "MIT" }, - "node_modules/synckit": { - "version": "0.11.12", - "license": "MIT", - "dependencies": { - "@pkgr/core": "^0.2.9" - }, + "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/synckit" + "node": ">=10" } }, - "node_modules/tar-fs": { + "node_modules/yallist": { "version": "3.1.1", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.2", "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0", - "tar-stream": "^3.1.5" + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" }, - "optionalDependencies": { - "bare-fs": "^4.0.1", - "bare-path": "^3.0.0" + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, - "node_modules/tar-stream": { - "version": "3.1.7", + "node_modules/yaml-ast-parser": { + "version": "0.0.43", "dev": true, + "license": "Apache-2.0" + }, + "node_modules/yargs": { + "version": "17.7.2", "license": "MIT", "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/test-exclude": { - "version": "6.0.0", + "node_modules/yargs-parser": { + "version": "21.1.1", "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.12", + "node_modules/yn": { + "version": "3.1.1", + "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=6" } }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "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" - }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "node_modules/zip-stream": { + "version": "6.0.1", + "dev": true, + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" }, "engines": { - "node": "*" + "node": ">= 14" } }, - "node_modules/testcontainers": { - "version": "11.11.0", + "node_modules/zip-stream/node_modules/buffer": { + "version": "6.0.3", "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" + } + ], "license": "MIT", "dependencies": { - "@balena/dockerignore": "^1.0.2", - "@types/dockerode": "^3.3.47", - "archiver": "^7.0.1", - "async-lock": "^1.4.1", - "byline": "^5.0.0", - "debug": "^4.4.3", - "docker-compose": "^1.3.0", - "dockerode": "^4.0.9", - "get-port": "^7.1.0", - "proper-lockfile": "^4.1.2", - "properties-reader": "^2.3.0", - "ssh-remote-port-forward": "^1.0.4", - "tar-fs": "^3.1.1", - "tmp": "^0.2.5", - "undici": "^7.16.0" - } - }, - "node_modules/text-decoder": { - "version": "1.2.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "b4a": "^1.6.4" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/text-table": { - "version": "0.2.0", + "node_modules/zip-stream/node_modules/events": { + "version": "3.3.0", "dev": true, - "license": "MIT" - }, - "node_modules/thread-stream": { - "version": "3.1.0", "license": "MIT", - "dependencies": { - "real-require": "^0.2.0" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/through": { - "version": "2.3.8", + "node_modules/zip-stream/node_modules/ieee754": { + "version": "1.2.1", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" }, - "node_modules/tinyglobby": { - "version": "0.2.15", + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">=12.0.0" - }, + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "url": "https://github.com/sponsors/colinhacks" } }, - "node_modules/tldts": { - "version": "6.1.86", - "dev": true, + "node_modules/zod-mermaid": { + "version": "1.3.0", "license": "MIT", "dependencies": { - "tldts-core": "^6.1.86" + "zod": "^4.0.5" }, - "bin": { - "tldts": "bin/cli.js" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/tldts-core": { - "version": "6.1.86", - "dev": true, + "pact-contracts": { + "name": "@nhsdigital/notify-supplier-api-consumer-contracts", + "version": "1.0.1", "license": "MIT" }, - "node_modules/tmp": { - "version": "0.2.5", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data": { + "name": "nhs-notify-supplier-api-letter-test-data-utility", + "version": "0.0.1", + "dependencies": { + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/client-s3": "^3.858.0", + "@aws-sdk/lib-dynamodb": "^3.858.0", + "@internal/datastore": "*", + "@jest/globals": "^30.2.0", + "esbuild": "^0.25.11", + "pino": "^10.3.0", + "yargs": "^17.7.2" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "typescript": "^5.9.3" + } + }, + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14.14" + "node": ">=20.0.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "license": "BSD-3-Clause" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "is-number": "^7.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.6" + "node": ">=20.0.0" } }, - "node_modules/token-types": { - "version": "6.1.2", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@borewit/text-codec": "^0.2.1", - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": ">=20.0.0" } }, - "node_modules/token-types/node_modules/ieee754": { - "version": "1.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" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/tough-cookie": { - "version": "5.1.2", - "dev": true, - "license": "BSD-3-Clause", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", "dependencies": { - "tldts": "^6.1.32" + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=16" + "node": ">=20.0.0" } }, - "node_modules/tr46": { - "version": "5.1.1", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "punycode": "^2.3.1" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18" - } - }, - "node_modules/tr46/node_modules/punycode": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-api-utils": { - "version": "2.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" + "node": ">=20.0.0" } }, - "node_modules/ts-essentials": { - "version": "10.1.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">=4.5.0" + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=20.0.0" } }, - "node_modules/ts-jest": { - "version": "29.4.6", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "bs-logger": "^0.2.6", - "fast-json-stable-stringify": "^2.1.0", - "handlebars": "^4.7.8", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.7.3", - "type-fest": "^4.41.0", - "yargs-parser": "^21.1.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0 || ^30.0.0", - "@jest/types": "^29.0.0 || ^30.0.0", - "babel-jest": "^29.0.0 || ^30.0.0", - "jest": "^29.0.0 || ^30.0.0", - "jest-util": "^29.0.0 || ^30.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "jest-util": { - "optional": true - } + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/ts-jest/node_modules/type-fest": { - "version": "4.41.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=20.0.0" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "engines": { + "node": ">=20.0.0" } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "minimist": "^1.2.0" + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=20.0.0" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=20.0.0" } }, - "node_modules/tslib": { - "version": "2.8.1", - "license": "0BSD" - }, - "node_modules/tsx": { - "version": "4.21.0", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", + "license": "Apache-2.0", "dependencies": { - "esbuild": "~0.27.0", - "get-tsconfig": "^4.7.5" - }, - "bin": { - "tsx": "dist/cli.mjs" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" + "node": ">=20.0.0" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "dev": true, - "license": "Unlicense" - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "prelude-ls": "^1.2.1" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=20.0.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=20.0.0" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=20.0.0" + } + }, + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=20.0.0" } }, - "node_modules/type-is": { - "version": "2.0.1", - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.6" + "node": ">=20.0.0" } }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.54.0", - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.6" + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/type-is/node_modules/mime-types": { - "version": "3.0.2", - "license": "MIT", + "scripts/utilities/letter-test-data/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", "dependencies": { - "mime-db": "^1.54.0" + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=20.0.0" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "dev": true, + "scripts/utilities/letter-test-data/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" + "node": ">=18" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "dev": true, + "scripts/utilities/letter-test-data/node_modules/esbuild": { + "version": "0.25.12", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data": { + "name": "nhs-notify-supplier-api-suppliers-data-utility", + "version": "0.0.1", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/lib-dynamodb": "^3.858.0", + "@internal/datastore": "*", + "esbuild": "^0.25.11", + "pino": "^10.3.0", + "yargs": "^17.7.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/jest": "^30.0.0", + "jest": "^30.2.0", + "jest-mock-extended": "^4.0.0", + "typescript": "^5.8.3" } }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=20.0.0" } }, - "node_modules/typescript": { - "version": "5.9.3", - "dev": true, + "scripts/utilities/supplier-data/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=14.17" + "node": ">=20.0.0" } }, - "node_modules/typescript-eslint": { - "version": "8.54.0", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.54.0", - "@typescript-eslint/parser": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">=20.0.0" } }, - "node_modules/uglify-js": { - "version": "3.19.3", - "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "scripts/utilities/supplier-data/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=0.8.0" + "node": ">=20.0.0" } }, - "node_modules/uid": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "@lukeed/csprng": "^1.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/uint8array-extras": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=20.0.0" } }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/underscore": { - "version": "1.13.7", - "license": "MIT" - }, - "node_modules/undici": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.18.1" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=20.0.0" } }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "dev": true, - "hasInstallScript": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "engines": { + "node": ">=20.0.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-check": { - "version": "1.5.4", - "license": "MIT", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=20.0.0" } }, - "node_modules/urijs": { - "version": "1.19.11", - "dev": true, - "license": "MIT" - }, - "node_modules/url": { - "version": "0.10.3", - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-template": { - "version": "2.0.8", - "dev": true, - "license": "BSD" - }, - "node_modules/use-sync-external-store": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/util": { - "version": "0.12.5", - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.11.0", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 4" + "node": ">=20.0.0" } }, - "node_modules/utils-merge": { - "version": "1.0.1", - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.4.0" + "node": ">=20.0.0" } }, - "node_modules/uuid": { - "version": "8.0.0", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "scripts/utilities/supplier-data/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "dev": true, - "license": "ISC", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.12.0" + "node": ">=20.0.0" } }, - "node_modules/validate-npm-package-name": { - "version": "3.0.0", - "dev": true, - "license": "ISC", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "builtins": "^1.0.3" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/vary": { - "version": "1.1.2", - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 0.8" + "node": ">=20.0.0" } }, - "node_modules/vscode-json-languageservice": { - "version": "4.2.1", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "jsonc-parser": "^3.0.0", - "vscode-languageserver-textdocument": "^1.0.3", - "vscode-languageserver-types": "^3.16.0", - "vscode-nls": "^5.0.0", - "vscode-uri": "^3.0.3" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" } }, - "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.12", - "dev": true, - "license": "MIT" - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.5", - "dev": true, - "license": "MIT" - }, - "node_modules/vscode-nls": { - "version": "5.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/vscode-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/w3c-xmlserializer": { - "version": "5.0.0", - "dev": true, - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "xml-name-validator": "^5.0.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18" + "node": ">=20.0.0" } }, - "node_modules/walker": { - "version": "1.0.8", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", "license": "Apache-2.0", "dependencies": { - "makeerror": "1.0.12" + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/watchpack": { - "version": "2.5.1", - "license": "MIT", + "scripts/utilities/supplier-data/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=20.0.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, + "scripts/utilities/supplier-data/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "dev": true, - "license": "BSD-2-Clause", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "dev": true, + "scripts/utilities/supplier-data/node_modules/esbuild": { + "version": "0.25.12", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "dev": true, - "license": "MIT", + "tests": { + "name": "nhs-notify-supplier-api-tests", + "version": "0.0.1", + "license": "ISC", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@aws-sdk/client-api-gateway": "^3.906.0", + "@aws-sdk/client-dynamodb": "^3.984.0", + "@aws-sdk/client-kinesis": "^3.964.0", + "@aws-sdk/client-lambda": "^3.986.0", + "@aws-sdk/client-sns": "^3.984.0", + "@aws-sdk/lib-dynamodb": "^3.984.0", + "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", + "@pact-foundation/pact": "^16.0.4", + "@pact-foundation/pact-core": "^17.0.2", + "@playwright/test": "^1.57.0", + "allure-js-commons": "^3.3.3", + "dotenv": "^17.2.2", + "express": "^4.16.4", + "graphql": "^16.11.0", + "graphql-tag": "^2.12.6", + "md5": "^2.3.0", + "openapi-response-validator": "^12.1.3", + "pino": "^10.3.0", + "pino-pretty": "^13.1.3", + "playwright": "^1.54.2", + "playwright-core": "^1.54.2", + "ramda": "^0.32.0", + "randexp": "^0.5.3", + "undici-types": "^7.10.0", + "zod": "^4.1.11" }, - "engines": { - "node": ">=0.10.0" + "devDependencies": { + "@types/node": "^25.2.2", + "allure-commandline": "^2.34.1", + "allure-playwright": "^3.4.3", + "jest": "^30.1.3", + "ts-jest": "^29.4.0", + "ts-node": "^10.9.2", + "typescript": "^5.9.3" } }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "tests/contracts/provider": { + "name": "@sap/contracts-provider", + "version": "1.0.0", + "dependencies": { + "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", + "@pact-foundation/pact": "^16.0.4" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.2", + "@types/jest": "^30.0.0", + "@types/node": "^25.2.2", + "eslint": "^9.27.0", + "glob": "^11.0.0", + "jest": "^30.0.0", + "ts-jest": "^29.4.0", + "typescript": "^5.9.3" } }, - "node_modules/whatwg-url": { - "version": "14.2.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/client-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/dynamodb-codec": "^3.972.8", + "@aws-sdk/middleware-endpoint-discovery": "^3.972.3", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "@smithy/util-waiter": "^4.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=18" + "node": ">=20.0.0" } }, - "node_modules/which": { - "version": "2.0.2", - "license": "ISC", + "tests/node_modules/@aws-sdk/client-sns": { + "version": "3.986.0", + "license": "Apache-2.0", "dependencies": { - "isexe": "^2.0.0" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-node": "^3.972.6", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.986.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, - "bin": { - "node-which": "bin/node-which" + "engines": { + "node": ">=20.0.0" + } + }, + "tests/node_modules/@aws-sdk/client-sso": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 8" + "node": ">=20.0.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=20.0.0" } }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/core": { + "version": "3.973.7", + "license": "Apache-2.0", "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/xml-builder": "^3.972.4", + "@smithy/core": "^3.22.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/signature-v4": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=20.0.0" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/which-collection": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=20.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.20", - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.7", + "license": "Apache-2.0", "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/util-stream": "^4.5.11", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=20.0.0" } }, - "node_modules/widest-line": { - "version": "4.0.1", - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-login": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.2.2", - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=20.0.0" } }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/protocol-http": "^5.3.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=20.0.0" } }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.1.2", - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.6", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "@aws-sdk/credential-provider-env": "^3.972.5", + "@aws-sdk/credential-provider-http": "^3.972.7", + "@aws-sdk/credential-provider-ini": "^3.972.5", + "@aws-sdk/credential-provider-process": "^3.972.5", + "@aws-sdk/credential-provider-sso": "^3.972.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.5", + "@aws-sdk/types": "^3.973.1", + "@smithy/credential-provider-imds": "^4.2.8", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=20.0.0" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" + "node": ">=20.0.0" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@aws-sdk/client-sso": "3.985.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/token-providers": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=20.0.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "license": "ISC", + "tests/node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.5", + "license": "Apache-2.0", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=20.0.0" } }, - "node_modules/ws": { - "version": "8.19.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/lib-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/util-dynamodb": "3.986.0", + "@smithy/core": "^3.22.1", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "@aws-sdk/client-dynamodb": "^3.986.0" } }, - "node_modules/xml-name-validator": { - "version": "5.0.0", - "dev": true, + "tests/node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.972.7", "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@smithy/core": "^3.22.1", + "@smithy/protocol-http": "^5.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=18" + "node": ">=20.0.0" } }, - "node_modules/xml2js": { - "version": "0.6.2", - "license": "MIT", + "tests/node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=4.0.0" + "node": ">=20.0.0" } }, - "node_modules/xml2js/node_modules/xmlbuilder": { - "version": "11.0.1", - "license": "MIT", + "tests/node_modules/@aws-sdk/nested-clients": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/middleware-host-header": "^3.972.3", + "@aws-sdk/middleware-logger": "^3.972.3", + "@aws-sdk/middleware-recursion-detection": "^3.972.3", + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/region-config-resolver": "^3.972.3", + "@aws-sdk/types": "^3.973.1", + "@aws-sdk/util-endpoints": "3.985.0", + "@aws-sdk/util-user-agent-browser": "^3.972.3", + "@aws-sdk/util-user-agent-node": "^3.972.5", + "@smithy/config-resolver": "^4.4.6", + "@smithy/core": "^3.22.1", + "@smithy/fetch-http-handler": "^5.3.9", + "@smithy/hash-node": "^4.2.8", + "@smithy/invalid-dependency": "^4.2.8", + "@smithy/middleware-content-length": "^4.2.8", + "@smithy/middleware-endpoint": "^4.4.13", + "@smithy/middleware-retry": "^4.4.30", + "@smithy/middleware-serde": "^4.2.9", + "@smithy/middleware-stack": "^4.2.8", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/node-http-handler": "^4.4.9", + "@smithy/protocol-http": "^5.3.8", + "@smithy/smithy-client": "^4.11.2", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-base64": "^4.3.0", + "@smithy/util-body-length-browser": "^4.2.0", + "@smithy/util-body-length-node": "^4.2.1", + "@smithy/util-defaults-mode-browser": "^4.3.29", + "@smithy/util-defaults-mode-node": "^4.2.32", + "@smithy/util-endpoints": "^3.2.8", + "@smithy/util-middleware": "^4.2.8", + "@smithy/util-retry": "^4.2.8", + "@smithy/util-utf8": "^4.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4.0" + "node": ">=20.0.0" } }, - "node_modules/xmlbuilder": { - "version": "15.0.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/nested-clients/node_modules/@aws-sdk/util-endpoints": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=8.0" + "node": ">=20.0.0" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/y18n": { - "version": "5.0.8", - "license": "ISC", + "tests/node_modules/@aws-sdk/token-providers": { + "version": "3.985.0", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.973.7", + "@aws-sdk/nested-clients": "3.985.0", + "@aws-sdk/types": "^3.973.1", + "@smithy/property-provider": "^4.2.8", + "@smithy/shared-ini-file-loader": "^4.4.3", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=20.0.0" } }, - "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.8.2", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" + "tests/node_modules/@aws-sdk/util-dynamodb": { + "version": "3.986.0", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.6" + "node": ">=20.0.0" }, - "funding": { - "url": "https://github.com/sponsors/eemeli" + "peerDependencies": { + "@aws-sdk/client-dynamodb": "^3.986.0" } }, - "node_modules/yaml-ast-parser": { - "version": "0.0.43", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/yargs": { - "version": "17.7.2", - "license": "MIT", + "tests/node_modules/@aws-sdk/util-endpoints": { + "version": "3.986.0", + "license": "Apache-2.0", "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" + "@aws-sdk/types": "^3.973.1", + "@smithy/types": "^4.12.0", + "@smithy/url-parser": "^4.2.8", + "@smithy/util-endpoints": "^3.2.8", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" + "node": ">=20.0.0" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.972.5", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/middleware-user-agent": "^3.972.7", + "@aws-sdk/types": "^3.973.1", + "@smithy/node-config-provider": "^4.3.8", + "@smithy/types": "^4.12.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=10" + "node": ">=20.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/zip-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", + "tests/node_modules/@aws-sdk/xml-builder": { + "version": "3.972.4", + "license": "Apache-2.0", "dependencies": { - "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.2", - "readable-stream": "^4.0.0" + "@smithy/types": "^4.12.0", + "fast-xml-parser": "5.3.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">= 14" + "node": ">=20.0.0" } }, - "node_modules/zip-stream/node_modules/buffer": { - "version": "6.0.3", + "tests/node_modules/@types/node": { + "version": "25.2.2", "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" - } - ], "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "undici-types": "~7.16.0" } }, - "node_modules/zip-stream/node_modules/events": { - "version": "3.3.0", - "dev": true, + "tests/node_modules/accepts": { + "version": "1.3.8", "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, "engines": { - "node": ">=0.8.x" + "node": ">= 0.6" } }, - "node_modules/zip-stream/node_modules/ieee754": { - "version": "1.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" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "4.7.0", - "dev": true, + "tests/node_modules/body-parser": { + "version": "1.20.4", "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "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.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/zod": { - "version": "4.3.6", + "tests/node_modules/content-disposition": { + "version": "0.5.4", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/zod-mermaid": { - "version": "1.3.0", + "tests/node_modules/cookie-signature": { + "version": "1.0.7", + "license": "MIT" + }, + "tests/node_modules/debug": { + "version": "2.6.9", "license": "MIT", "dependencies": { - "zod": "^4.0.5" - }, - "engines": { - "node": ">=18.0.0" + "ms": "2.0.0" } }, - "pact-contracts": { - "name": "@nhsdigital/notify-supplier-api-consumer-contracts", - "version": "1.0.1", + "tests/node_modules/debug/node_modules/ms": { + "version": "2.0.0", "license": "MIT" }, - "scripts/utilities/letter-test-data": { - "name": "nhs-notify-supplier-api-letter-test-data-utility", - "version": "0.0.1", + "tests/node_modules/express": { + "version": "4.22.1", + "license": "MIT", "dependencies": { - "@aws-sdk/client-dynamodb": "^3.984.0", - "@aws-sdk/client-s3": "^3.858.0", - "@aws-sdk/lib-dynamodb": "^3.858.0", - "@internal/datastore": "*", - "@jest/globals": "^30.2.0", - "esbuild": "^0.25.11", - "pino": "^10.3.0", - "yargs": "^17.7.2" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "devDependencies": { - "@tsconfig/node22": "^22.0.2", - "@types/jest": "^30.0.0", - "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", - "typescript": "^5.9.3" + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "scripts/utilities/letter-test-data/node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "cpu": [ - "x64" - ], + "tests/node_modules/finalhandler": { + "version": "1.3.2", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">=18" + "node": ">= 0.8" } }, - "scripts/utilities/letter-test-data/node_modules/esbuild": { - "version": "0.25.12", - "hasInstallScript": true, + "tests/node_modules/fresh": { + "version": "0.5.2", "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "tests/node_modules/glob": { + "version": "11.1.0", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, "bin": { - "esbuild": "bin/esbuild" + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=18" + "node": "20 || >=22" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "scripts/utilities/letter-test-data/node_modules/pino": { - "version": "9.14.0", + "tests/node_modules/iconv-lite": { + "version": "0.4.24", "license": "MIT", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=0.10.0" } }, - "scripts/utilities/supplier-data": { - "name": "nhs-notify-supplier-api-suppliers-data-utility", - "version": "0.0.1", + "tests/node_modules/jackspeak": { + "version": "4.1.1", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@aws-sdk/client-dynamodb": "^3.984.0", - "@aws-sdk/lib-dynamodb": "^3.858.0", - "@internal/datastore": "*", - "esbuild": "^0.25.11", - "pino": "^10.3.0", - "yargs": "^17.7.2" + "@isaacs/cliui": "^8.0.2" }, - "devDependencies": { - "@tsconfig/node22": "^22.0.2", - "@types/jest": "^30.0.0", - "jest": "^30.2.0", - "jest-mock-extended": "^4.0.0", - "typescript": "^5.8.3" + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "scripts/utilities/supplier-data/node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "cpu": [ - "x64" - ], + "tests/node_modules/media-typer": { + "version": "0.3.0", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": ">= 0.6" } }, - "scripts/utilities/supplier-data/node_modules/esbuild": { - "version": "0.25.12", - "hasInstallScript": true, + "tests/node_modules/merge-descriptors": { + "version": "1.0.3", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "tests/node_modules/mime-db": { + "version": "1.52.0", "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" + "node": ">= 0.6" } }, - "scripts/utilities/supplier-data/node_modules/pino": { - "version": "9.14.0", + "tests/node_modules/mime-types": { + "version": "2.1.35", "license": "MIT", "dependencies": { - "@pinojs/redact": "^0.4.0", - "atomic-sleep": "^1.0.0", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^2.0.0", - "pino-std-serializers": "^7.0.0", - "process-warning": "^5.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^4.0.1", - "thread-stream": "^3.0.0" + "mime-db": "1.52.0" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">= 0.6" } }, - "tests": { - "name": "nhs-notify-supplier-api-tests", - "version": "0.0.1", - "license": "ISC", + "tests/node_modules/minimatch": { + "version": "10.1.1", + "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "@aws-sdk/client-api-gateway": "^3.906.0", - "@aws-sdk/client-dynamodb": "^3.984.0", - "@aws-sdk/client-kinesis": "^3.964.0", - "@aws-sdk/client-lambda": "^3.986.0", - "@aws-sdk/client-sns": "^3.984.0", - "@aws-sdk/lib-dynamodb": "^3.984.0", - "@nhsdigital/nhs-notify-event-schemas-letter-rendering": "^2.0.1", - "@pact-foundation/pact": "^16.0.4", - "@pact-foundation/pact-core": "^17.0.2", - "@playwright/test": "^1.57.0", - "allure-js-commons": "^3.3.3", - "dotenv": "^17.2.2", - "express": "^4.16.4", - "graphql": "^16.11.0", - "graphql-tag": "^2.12.6", - "md5": "^2.3.0", - "openapi-response-validator": "^12.1.3", - "pino": "^10.3.0", - "pino-pretty": "^13.1.3", - "playwright": "^1.54.2", - "playwright-core": "^1.54.2", - "ramda": "^0.32.0", - "randexp": "^0.5.3", - "undici-types": "^7.10.0", - "zod": "^4.1.11" + "@isaacs/brace-expansion": "^5.0.0" }, - "devDependencies": { - "@types/node": "^25.2.2", - "allure-commandline": "^2.34.1", - "allure-playwright": "^3.4.3", - "jest": "^30.1.3", - "ts-jest": "^29.4.0", - "ts-node": "^10.9.2", - "typescript": "^5.9.3" + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "tests/contracts/provider": { - "name": "@sap/contracts-provider", - "version": "1.0.0", + "tests/node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "tests/node_modules/path-to-regexp": { + "version": "0.1.12", + "license": "MIT" + }, + "tests/node_modules/raw-body": { + "version": "2.5.3", + "license": "MIT", "dependencies": { - "@nhsdigital/nhs-notify-event-schemas-supplier-api": "*", - "@pact-foundation/pact": "^16.0.4" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, - "devDependencies": { - "@tsconfig/node22": "^22.0.2", - "@types/jest": "^30.0.0", - "@types/node": "^25.2.2", - "eslint": "^9.27.0", - "glob": "^11.0.0", - "jest": "^30.0.0", - "ts-jest": "^29.4.0", - "typescript": "^5.9.3" + "engines": { + "node": ">= 0.8" } }, - "tests/node_modules/@aws-sdk/client-lambda": { - "version": "3.986.0", - "license": "Apache-2.0", + "tests/node_modules/send": { + "version": "0.19.2", + "license": "MIT", "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.7", - "@aws-sdk/credential-provider-node": "^3.972.6", - "@aws-sdk/middleware-host-header": "^3.972.3", - "@aws-sdk/middleware-logger": "^3.972.3", - "@aws-sdk/middleware-recursion-detection": "^3.972.3", - "@aws-sdk/middleware-user-agent": "^3.972.7", - "@aws-sdk/region-config-resolver": "^3.972.3", - "@aws-sdk/types": "^3.973.1", - "@aws-sdk/util-endpoints": "3.986.0", - "@aws-sdk/util-user-agent-browser": "^3.972.3", - "@aws-sdk/util-user-agent-node": "^3.972.5", - "@smithy/config-resolver": "^4.4.6", - "@smithy/core": "^3.22.1", - "@smithy/eventstream-serde-browser": "^4.2.8", - "@smithy/eventstream-serde-config-resolver": "^4.3.8", - "@smithy/eventstream-serde-node": "^4.2.8", - "@smithy/fetch-http-handler": "^5.3.9", - "@smithy/hash-node": "^4.2.8", - "@smithy/invalid-dependency": "^4.2.8", - "@smithy/middleware-content-length": "^4.2.8", - "@smithy/middleware-endpoint": "^4.4.13", - "@smithy/middleware-retry": "^4.4.30", - "@smithy/middleware-serde": "^4.2.9", - "@smithy/middleware-stack": "^4.2.8", - "@smithy/node-config-provider": "^4.3.8", - "@smithy/node-http-handler": "^4.4.9", - "@smithy/protocol-http": "^5.3.8", - "@smithy/smithy-client": "^4.11.2", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.29", - "@smithy/util-defaults-mode-node": "^4.2.32", - "@smithy/util-endpoints": "^3.2.8", - "@smithy/util-middleware": "^4.2.8", - "@smithy/util-retry": "^4.2.8", - "@smithy/util-stream": "^4.5.11", - "@smithy/util-utf8": "^4.2.0", - "@smithy/util-waiter": "^4.2.8", - "tslib": "^2.6.2" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" }, "engines": { - "node": ">=20.0.0" + "node": ">= 0.8.0" } }, - "tests/node_modules/@aws-sdk/util-endpoints": { - "version": "3.986.0", - "license": "Apache-2.0", + "tests/node_modules/serve-static": { + "version": "1.16.3", + "license": "MIT", "dependencies": { - "@aws-sdk/types": "^3.973.1", - "@smithy/types": "^4.12.0", - "@smithy/url-parser": "^4.2.8", - "@smithy/util-endpoints": "^3.2.8", - "tslib": "^2.6.2" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" }, "engines": { - "node": ">=20.0.0" + "node": ">= 0.8.0" } }, - "tests/node_modules/@types/node": { - "version": "24.10.12", - "dev": true, + "tests/node_modules/type-is": { + "version": "1.6.18", "license": "MIT", "dependencies": { - "undici-types": "~7.16.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, "tests/node_modules/undici-types": { From de954d1b7914968bd48135257be83a4e8d00eeb8 Mon Sep 17 00:00:00 2001 From: David Wass Date: Mon, 9 Feb 2026 15:10:05 +0000 Subject: [PATCH 05/10] Unit tests --- .../handler/__tests__/upsert-handler.test.ts | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts index 0fa343750..864926935 100644 --- a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts +++ b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts @@ -75,6 +75,48 @@ function createPreparedV1Event( }; } +function createSupplierStatusChangeEventWithoutSupplier( + overrides: Partial = {}, +): LetterEvent { + const now = new Date().toISOString(); + + return $LetterEvent.parse({ + data: { + domainId: overrides.domainId ?? "f47ac10b-58cc-4372-a567-0e02b2c3d479", + groupId: "client_template", + origin: { + domain: "letter-rendering", + event: "f47ac10b-58cc-4372-a567-0e02b2c3d479", + source: "/data-plane/letter-rendering/prod/render-pdf", + subject: + "client/00f3b388-bbe9-41c9-9e76-052d37ee8988/letter-request/0o5Fs0EELR0fUjHjbCnEtdUwQe4_0o5Fs0EELR0fUjHjbCnEtdUwQe5", + }, + reasonCode: "R07", + reasonText: "No such address", + specificationId: "1y3q9v1zzzz", + billingRef: "1y3q9v1zzzz", + status: "RETURNED", + supplierId: "", + }, + datacontenttype: "application/json", + dataschema: + "https://notify.nhs.uk/cloudevents/schemas/supplier-api/letter.RETURNED.1.0.0.schema.json", + dataschemaversion: "1.0.0", + id: overrides.id ?? "23f1f09c-a555-4d9b-8405-0b33490bc920", + plane: "data", + recordedtime: now, + severitynumber: 2, + severitytext: "INFO", + source: "/data-plane/supplier-api/prod/update-status", + specversion: "1.0", + subject: + "letter-origin/letter-rendering/letter/f47ac10b-58cc-4372-a567-0e02b2c3d479", + time: now, + traceparent: "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01", + type: "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + }); +} + function createPreparedV2Event( overrides: Partial = {}, ): LetterRequestPreparedEventV2 { @@ -129,6 +171,26 @@ function createSupplierStatusChangeEvent( }); } +// Mock aws-embedded-metrics +let mockMetrics: any; +jest.mock("aws-embedded-metrics", () => ({ + metricScope: ( + handler: (metrics: any) => (event: SQSEvent) => Promise, + ) => { + return async (event: SQSEvent) => { + mockMetrics = { + setNamespace: jest.fn(), + putDimensions: jest.fn(), + putMetric: jest.fn(), + }; + return handler(mockMetrics)(event); + }; + }, + Unit: { + Count: "Count", + }, +})); + describe("createUpsertLetterHandler", () => { const mockedDeps: jest.Mocked = { letterRepo: { @@ -213,6 +275,40 @@ describe("createUpsertLetterHandler", () => { expect(updatedLetter.reasonCode).toBe("R07"); expect(updatedLetter.reasonText).toBe("No such address"); expect(updatedLetter.supplierId).toBe("supplier1"); + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "supplier1", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessagesProcessed", + 3, + "Count", + ); + }); + + test("unknown supplier has metric emitted with 'unknown' supplier dimension", async () => { + const letterEvent = createSupplierStatusChangeEventWithoutSupplier(); + + const message = { + letterEvent, + operationType: "uk.nhs.notify.supplier-api.letter.RETURNED.v1", + supplierSpec: undefined, + }; + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("unknown-supplier", JSON.stringify(message)), + ]); + + await createUpsertLetterHandler(mockedDeps)(evt, {} as any, {} as any); + + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "unknown", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessagesProcessed", + 1, + "Count", + ); }); test("invalid JSON produces batch failure and logs error", async () => { @@ -238,6 +334,15 @@ describe("createUpsertLetterHandler", () => { }), ); expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "unknown", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessageFailed", + 1, + "Count", + ); }); test("invalid letter event schema produces batch failure", async () => { @@ -272,6 +377,15 @@ describe("createUpsertLetterHandler", () => { }), ); expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "supplier1", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessageFailed", + 1, + "Count", + ); }); test("no event type produces batch failure and logs error", async () => { @@ -328,6 +442,15 @@ describe("createUpsertLetterHandler", () => { messageId: "bad-event-type", }), ); + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "supplier1", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessageFailed", + 1, + "Count", + ); }); test("valid event type and invalid schema produces batch failure and logs error", async () => { From 0256527a7452805c744dbe4190de3f2ee9157d34 Mon Sep 17 00:00:00 2001 From: David Wass Date: Tue, 10 Feb 2026 14:45:25 +0000 Subject: [PATCH 06/10] axios vulnerability --- package-lock.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package-lock.json b/package-lock.json index 2ae79a938..d5f799eaa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11182,6 +11182,8 @@ }, "node_modules/axios": { "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", From 5d3b2626094a1aa5f34ebea16df4281d771a52d7 Mon Sep 17 00:00:00 2001 From: David Wass Date: Tue, 10 Feb 2026 15:03:39 +0000 Subject: [PATCH 07/10] lint fix --- lambdas/allocate-letter/src/handler/allocate-handler.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lambdas/allocate-letter/src/handler/allocate-handler.ts b/lambdas/allocate-letter/src/handler/allocate-handler.ts index 5809f1e60..8638fe6b8 100644 --- a/lambdas/allocate-letter/src/handler/allocate-handler.ts +++ b/lambdas/allocate-letter/src/handler/allocate-handler.ts @@ -9,9 +9,8 @@ import { SendMessageCommand } from "@aws-sdk/client-sqs"; import { LetterRequestPreparedEvent } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering-v1"; import { LetterRequestPreparedEventV2 } from "@nhsdigital/nhs-notify-event-schemas-letter-rendering"; -import z, { url } from "zod"; +import z from "zod"; import { Deps } from "../config/deps"; -import { de } from "zod/v4/locales"; type SupplierSpec = { supplierId: string; specId: string }; type PreparedEvents = LetterRequestPreparedEventV2 | LetterRequestPreparedEvent; From b92401bee32487a5ece99957d2e88db33b58d85a Mon Sep 17 00:00:00 2001 From: David Wass Date: Wed, 11 Feb 2026 09:52:54 +0000 Subject: [PATCH 08/10] remove variant map after merge conflict --- lambdas/upsert-letter/src/config/env.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lambdas/upsert-letter/src/config/env.ts b/lambdas/upsert-letter/src/config/env.ts index 05fc909af..fd205813a 100644 --- a/lambdas/upsert-letter/src/config/env.ts +++ b/lambdas/upsert-letter/src/config/env.ts @@ -3,10 +3,6 @@ import { z } from "zod"; const EnvVarsSchema = z.object({ LETTERS_TABLE_NAME: z.string(), LETTER_TTL_HOURS: z.coerce.number().int(), - VARIANT_MAP: z.string().transform((str, _) => { - const parsed = JSON.parse(str); - return LetterVariantSchema.parse(parsed); - }), PINO_LOG_LEVEL: z.coerce.string().optional(), }); From a9b51431b656bb88e7bece515a66968487066a2d Mon Sep 17 00:00:00 2001 From: David Wass Date: Wed, 11 Feb 2026 10:32:03 +0000 Subject: [PATCH 09/10] More unit test fixes --- .../handler/__tests__/upsert-handler.test.ts | 106 ++++++++++++------ 1 file changed, 71 insertions(+), 35 deletions(-) diff --git a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts index 864926935..c06c57785 100644 --- a/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts +++ b/lambdas/upsert-letter/src/handler/__tests__/upsert-handler.test.ts @@ -354,7 +354,7 @@ describe("createUpsertLetterHandler", () => { }; const evt: SQSEvent = createSQSEvent([ - createSqsRecord("bad-schema", JSON.stringify(message)), + createSqsRecord("bad-notification-schema", JSON.stringify(message)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -420,8 +420,14 @@ describe("createUpsertLetterHandler", () => { }); test("invalid event type produces batch failure and logs error", async () => { + const message = { + letterEvent: { someField: "invalid" }, + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; const evt: SQSEvent = createSQSEvent([ - createSqsRecord("unknown-op", JSON.stringify(message)), + createSqsRecord("bad-event-type", JSON.stringify(message)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -453,18 +459,50 @@ describe("createUpsertLetterHandler", () => { ); }); + test("unknown operation type produces batch failure and logs error", async () => { + const message = { + letterEvent: createPreparedV1Event(), + operationType: "unknown.operation.type", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; + const evt: SQSEvent = createSQSEvent([ + createSqsRecord("bad-operation-type", JSON.stringify(message)), + ]); + + const result = await createUpsertLetterHandler(mockedDeps)( + evt, + {} as any, + {} as any, + ); + + expect(result).toBeDefined(); + if (!result) throw new Error("expected BatchResponse, got void"); + expect(result.batchItemFailures).toHaveLength(1); + expect(result.batchItemFailures[0].itemIdentifier).toBe( + "bad-operation-type", + ); + expect(mockedDeps.letterRepo.putLetter).not.toHaveBeenCalled(); + expect(mockedDeps.letterRepo.updateLetterStatus).not.toHaveBeenCalled(); + expect((mockedDeps.logger.error as jest.Mock).mock.calls[0][0]).toEqual( + expect.objectContaining({ + description: "Error processing upsert of record", + messageId: "bad-operation-type", + }), + ); + expect(mockMetrics.setNamespace).toHaveBeenCalledWith("upsertLetter"); + expect(mockMetrics.putDimensions).toHaveBeenCalledWith({ + Supplier: "supplier1", + }); + expect(mockMetrics.putMetric).toHaveBeenCalledWith( + "MessageFailed", + 1, + "Count", + ); + }); + test("valid event type and invalid schema produces batch failure and logs error", async () => { const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "ok-msg", - JSON.stringify({ - letterEvent: createPreparedV2Event(), - operationType: - "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", - supplierSpec: { supplierId: "supplier1", specId: "spec1" }, - }), - ), - createSqsRecord("fail-msg", "invalid-json"), + createSqsRecord("bad-event-schema", "invalid-json"), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -492,29 +530,27 @@ describe("createUpsertLetterHandler", () => { .mockResolvedValueOnce({}) .mockRejectedValueOnce(new Error("ddb error")); + const message1 = { + letterEvent: createPreparedV2Event({ + id: "7b9a03ca-342a-4150-b56b-989109c45615", + domainId: "ok", + }), + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; + const message2 = { + letterEvent: createPreparedV2Event({ + id: "7b9a03ca-342a-4150-b56b-989109c45616", + domainId: "fail", + }), + operationType: + "uk.nhs.notify.letter-rendering.letter-request.prepared.v2", + supplierSpec: { supplierId: "supplier1", specId: "spec1" }, + }; const evt: SQSEvent = createSQSEvent([ - createSqsRecord( - "ok-msg", - JSON.stringify( - createNotification( - createPreparedV2Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45615", - domainId: "ok", - }), - ), - ), - ), - createSqsRecord( - "fail-msg", - JSON.stringify( - createNotification( - createPreparedV2Event({ - id: "7b9a03ca-342a-4150-b56b-989109c45616", - domainId: "fail", - }), - ), - ), - ), + createSqsRecord("ok-msg", JSON.stringify(message1)), + createSqsRecord("fail-msg", JSON.stringify(message2)), ]); const result = await createUpsertLetterHandler(mockedDeps)( @@ -529,6 +565,6 @@ describe("createUpsertLetterHandler", () => { expect(result.batchItemFailures).toHaveLength(1); expect(result.batchItemFailures[0].itemIdentifier).toBe("fail-msg"); - expect(mockedDeps.letterRepo.putLetter).toHaveBeenCalledTimes(1); + expect(mockedDeps.logger.error).toHaveBeenCalled(); }); }); From 32e562fc614da0847ce1db12054574f3def54a66 Mon Sep 17 00:00:00 2001 From: David Wass Date: Wed, 11 Feb 2026 11:02:33 +0000 Subject: [PATCH 10/10] logging --- lambdas/allocate-letter/src/handler/allocate-handler.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lambdas/allocate-letter/src/handler/allocate-handler.ts b/lambdas/allocate-letter/src/handler/allocate-handler.ts index 8638fe6b8..9ffbfbc6b 100644 --- a/lambdas/allocate-letter/src/handler/allocate-handler.ts +++ b/lambdas/allocate-letter/src/handler/allocate-handler.ts @@ -77,6 +77,11 @@ export default function createAllocatedLetterHandler(deps: Deps): SQSHandler { const letterEvent: unknown = removeEventBridgeWrapper(snsEvent); + deps.logger.info({ + description: "Extracted letter event", + messageId: record.messageId, + }); + const operationType = getType(letterEvent); let supplierSpec: SupplierSpec | undefined;