diff --git a/examples/lambda-external/external/lambda.mjs b/examples/lambda-external/external/lambda.mjs new file mode 100644 index 0000000..6f7715f --- /dev/null +++ b/examples/lambda-external/external/lambda.mjs @@ -0,0 +1,7 @@ +export const handler = async (event) => { + console.log("event", event); + return { + statusCode: 200, + body: JSON.stringify({ message: "Hello, world!" }), + }; +}; diff --git a/examples/lambda-external/external/lambda.zip b/examples/lambda-external/external/lambda.zip new file mode 100644 index 0000000..653c89f Binary files /dev/null and b/examples/lambda-external/external/lambda.zip differ diff --git a/examples/lambda-external/infra/api.ts b/examples/lambda-external/infra/api.ts new file mode 100644 index 0000000..af9e02b --- /dev/null +++ b/examples/lambda-external/infra/api.ts @@ -0,0 +1,8 @@ +import { api, router } from "@notation/aws/api-gateway"; +import { externalJsLambda, externalZipLambda } from "./lambda"; + +const helloApi = api({ name: "hello-api" }); +const helloRouter = router(helloApi); + +helloRouter.get("/hello1", externalJsLambda); +helloRouter.get("/hello2", externalZipLambda); diff --git a/examples/lambda-external/infra/index.ts b/examples/lambda-external/infra/index.ts new file mode 100644 index 0000000..6ab94c6 --- /dev/null +++ b/examples/lambda-external/infra/index.ts @@ -0,0 +1,2 @@ +import "./api"; +import "./schedule"; diff --git a/examples/lambda-external/infra/lambda.ts b/examples/lambda-external/infra/lambda.ts new file mode 100644 index 0000000..039626a --- /dev/null +++ b/examples/lambda-external/infra/lambda.ts @@ -0,0 +1,19 @@ +import { lambda } from "@notation/aws/lambda"; + +export const externalJsLambda = lambda({ + id: "external-js", + handler: "handler", + code: { + type: "file", + path: "external/lambda.mjs", + }, +}); + +export const externalZipLambda = lambda({ + id: "external-zip", + handler: "handler", + code: { + type: "zip", + path: "external/lambda.zip", + }, +}); diff --git a/examples/lambda-external/infra/schedule.ts b/examples/lambda-external/infra/schedule.ts new file mode 100644 index 0000000..6d2fe68 --- /dev/null +++ b/examples/lambda-external/infra/schedule.ts @@ -0,0 +1,8 @@ +import { schedule, rate } from "@notation/aws/event-bridge"; +import { externalJsLambda } from "./lambda"; + +export const myschedule = schedule({ + name: "my-schedule", + schedule: rate(1, "minute"), + handler: externalJsLambda, +}); diff --git a/examples/lambda-external/package.json b/examples/lambda-external/package.json new file mode 100644 index 0000000..67bbede --- /dev/null +++ b/examples/lambda-external/package.json @@ -0,0 +1,16 @@ +{ + "private": true, + "name": "lambda", + "scripts": { + "compile": "notation compile infra/index.ts", + "dashboard": "notation dashboard", + "deploy": "notation deploy infra/index.ts", + "destroy": "notation destroy infra/index.ts", + "viz": "notation viz infra/index.ts", + "watch": "notation watch infra/index.ts" + }, + "dependencies": { + "@notation/aws": "workspace:*", + "@notation/cli": "workspace:*" + } +} diff --git a/examples/lambda-external/tsconfig.json b/examples/lambda-external/tsconfig.json new file mode 100644 index 0000000..0717785 --- /dev/null +++ b/examples/lambda-external/tsconfig.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "lib": ["esnext"], + "module": "esnext", + "target": "esnext", + + "moduleResolution": "bundler", + "noEmit": true, + + "composite": false, + "declaration": true, + "declarationMap": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipDefaultLibCheck": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true, + + "paths": { + "runtime/*": ["./runtime/*"], + "infra/*": ["./infra/*"] + } + }, + "exclude": ["node_modules"] +} diff --git a/packages/aws.iac/src/resources/lambda/lambda.ts b/packages/aws.iac/src/resources/lambda/lambda.ts index de1c3e5..779a2bd 100644 --- a/packages/aws.iac/src/resources/lambda/lambda.ts +++ b/packages/aws.iac/src/resources/lambda/lambda.ts @@ -21,7 +21,7 @@ export type LambdaFunctionSchema = AwsSchema<{ export type LambdaDependencies = { role: LambdaIamRoleInstance; - zipFile: fs.ZipFileInstance; + zipFile: fs.ZipFileInstance | fs.FileInstance; }; const lambdaFunction = resource({ @@ -51,11 +51,6 @@ const lambdaFunctionSchema = lambdaFunction.defineSchema({ presence: "required", hidden: true, }, - CodeZipPath: { - valueType: z.string(), - propertyType: "param", - presence: "required", - }, CodeSha256: { valueType: z.string(), propertyType: "param", @@ -290,20 +285,20 @@ const lambdaFunctionSchema = lambdaFunction.defineSchema({ export const LambdaFunction = lambdaFunctionSchema .defineOperations({ create: async (params) => { - const zip = await fs.getZip(params.CodeZipPath); const command = new sdk.CreateFunctionCommand({ ...params, - Code: { ZipFile: zip }, + Code: { ZipFile: params.Code.ZipFile }, }); + await lambdaClient.send(command); - if (params.ReservedConcurrentExecutions) { - const concurrencyCommand = new sdk.PutFunctionConcurrencyCommand({ - FunctionName: params.FunctionName, - ReservedConcurrentExecutions: params.ReservedConcurrentExecutions, - }); - await lambdaClient.send(concurrencyCommand); - } + // if (params.ReservedConcurrentExecutions) { + // const concurrencyCommand = new sdk.PutFunctionConcurrencyCommand({ + // FunctionName: params.FunctionName, + // ReservedConcurrentExecutions: params.ReservedConcurrentExecutions, + // }); + // await lambdaClient.send(concurrencyCommand); + // } }, read: async (key) => { @@ -339,10 +334,9 @@ export const LambdaFunction = lambdaFunctionSchema } if (CodeSha256) { - const zip = await fs.getZip(params.CodeZipPath); const codeCommand = new sdk.UpdateFunctionCodeCommand({ ...key, - ZipFile: zip, + ZipFile: params.Code.ZipFile, }); await lambdaClient.send(codeCommand); } @@ -381,9 +375,8 @@ export const LambdaFunction = lambdaFunctionSchema .requireDependencies() .setIntrinsicConfig(async ({ deps }) => ({ PackageType: "Zip", - Code: { ZipFile: undefined }, + Code: { ZipFile: deps.zipFile.output.file }, CodeSha256: deps.zipFile.output.sourceSha256, - CodeZipPath: deps.zipFile.config.filePath, Role: deps.role.output.Arn, })); diff --git a/packages/aws/src/api-gateway/route.ts b/packages/aws/src/api-gateway/route.ts index c4dbe14..4dd8446 100644 --- a/packages/aws/src/api-gateway/route.ts +++ b/packages/aws/src/api-gateway/route.ts @@ -3,7 +3,6 @@ import type { JWTAuthorizedApiGatewayHandler, } from "src/shared"; import * as aws from "@notation/aws.iac"; -import { lambda } from "src/lambda"; import { api } from "./api"; import { AuthorizerConfig } from "./auth"; import { mapAuthConfig, mapAuthType } from "./utils"; @@ -13,29 +12,41 @@ export const route = ( method: string, // todo: http methods only path: `/${string}`, auth: AuthorizerConfig, - handler: ApiGatewayHandler | JWTAuthorizedApiGatewayHandler, + handler: + | ApiGatewayHandler + | JWTAuthorizedApiGatewayHandler + // todo: narrow to lambda group + | aws.AwsResourceGroup, ) => { const apiResource = apiGroup.findResource(aws.apiGateway.Api)!; - - // at compile time becomes infra module - const lambdaGroup = handler as any as ReturnType; - - const routeGroup = new aws.AwsResourceGroup("API Gateway/Route", { - dependencies: { router: apiGroup.id, fn: lambdaGroup.id }, - }); - const routeId = `${apiResource.id}-${method}-${path}`; - let integration; + const lambdaGroup = + handler instanceof aws.AwsResourceGroup + ? handler + : // at compile time, runtime module becomes infra resource group + (handler as any as aws.AwsResourceGroup); const lambdaResource = lambdaGroup.findResource(aws.lambda.LambdaFunction)!; + let integration = lambdaGroup.findResource(aws.apiGateway.LambdaIntegration); + + if (!integration) { + integration = lambdaGroup.add( + new aws.apiGateway.LambdaIntegration({ + id: `${apiResource.id}-${lambdaResource.id}-integration`, + dependencies: { + api: apiResource, + lambda: lambdaResource, + }, + }), + ); + } + const permission = lambdaGroup.findResource( aws.lambda.LambdaApiGatewayV2Permission, ); - integration = lambdaGroup.findResource(aws.apiGateway.LambdaIntegration); - if (!permission) { lambdaGroup.add( new aws.lambda.LambdaApiGatewayV2Permission({ @@ -48,6 +59,10 @@ export const route = ( ); } + const routeGroup = new aws.AwsResourceGroup("API Gateway/Route", { + dependencies: { router: apiGroup.id, fn: lambdaGroup.id }, + }); + if (auth.type != "NONE") { const authConfig = mapAuthConfig(apiResource.id, method, path, auth); @@ -62,18 +77,6 @@ export const route = ( routeGroup.add(authorizer); } - if (!integration) { - integration = lambdaGroup.add( - new aws.apiGateway.LambdaIntegration({ - id: `${apiResource.id}-${lambdaResource.id}-integration`, - dependencies: { - api: apiResource, - lambda: lambdaResource, - }, - }), - ); - } - const authorizerResource = routeGroup.findResource(aws.apiGateway.RouteAuth); routeGroup.add( diff --git a/packages/aws/src/api-gateway/router.ts b/packages/aws/src/api-gateway/router.ts index a8d7d2c..104ff29 100644 --- a/packages/aws/src/api-gateway/router.ts +++ b/packages/aws/src/api-gateway/router.ts @@ -2,13 +2,15 @@ import type { ApiGatewayHandler, JWTAuthorizedApiGatewayHandler, } from "src/shared"; +import * as aws from "@notation/aws.iac"; import { route } from "./route"; import { api } from "./api"; import { AuthorizerConfig, JWTAuthorizerConfig, NO_AUTH } from "./auth"; export const router = (apiGroup: ReturnType) => { const createRouteCallback = - (method: string) => (path: `/${string}`, handler: ApiGatewayHandler) => { + (method: string) => + (path: `/${string}`, handler: ApiGatewayHandler | aws.AwsResourceGroup) => { return route(apiGroup, method, path, NO_AUTH, handler); }; diff --git a/packages/aws/src/event-bridge/event-bridge-schedule.ts b/packages/aws/src/event-bridge/event-bridge-schedule.ts index 6705603..c5c4ad5 100644 --- a/packages/aws/src/event-bridge/event-bridge-schedule.ts +++ b/packages/aws/src/event-bridge/event-bridge-schedule.ts @@ -1,22 +1,27 @@ -import { ResourceGroup } from "@notation/core"; import { EventBridgeHandler } from "src/shared/lambda.handler"; import { Schedule } from "./schedule"; -import { lambda } from "src/lambda"; import * as aws from "@notation/aws.iac"; import { toAwsScheduleExpression } from "./aws-conversions"; export const schedule = (config: { name: string; schedule: Schedule; - handler: EventBridgeHandler<"Scheduled Event", any>; -}): ResourceGroup => { + handler: + | EventBridgeHandler<"Scheduled Event", any> + // todo: narrow to lambda group + | aws.AwsResourceGroup; +}): aws.AwsResourceGroup => { const eventBridgeScheduleGroup = new aws.AwsResourceGroup( "aws/eventBridge/schedule", config, ); - // at compile time becomes infra module - const lambdaGroup = config.handler as any as ReturnType; + const lambdaGroup = + config.handler instanceof aws.AwsResourceGroup + ? config.handler + : // at compile time, runtime module becomes infra resource group + (config.handler as any as aws.AwsResourceGroup); + const lambdaResource = lambdaGroup.findResource(aws.lambda.LambdaFunction)!; const eventBridgeRule = new aws.eventBridge.EventBridgeRule({ diff --git a/packages/aws/src/lambda/lambda.ts b/packages/aws/src/lambda/lambda.ts index 38ac35f..ec1a174 100644 --- a/packages/aws/src/lambda/lambda.ts +++ b/packages/aws/src/lambda/lambda.ts @@ -1,23 +1,50 @@ import * as aws from "@notation/aws.iac"; import * as std from "@notation/std.iac"; import crypto from "crypto"; +import path from "path"; -export const lambda = (config: { fileName: string; handler: string }) => { +type LambdaConfig = { + id?: string; + handler: string; + code: { + type: "file" | "zip"; + path: string; + }; +}; + +export const lambda = (config: LambdaConfig) => { const functionGroup = new aws.AwsResourceGroup("Lambda", { config }); - const filePathHash = crypto - .createHash("BLAKE2s256") - .update(config.fileName) - .digest("hex") - .slice(0, 8); - - const lambdaId = `${config.handler}-${filePathHash}`; - - const zipFile = functionGroup.add( - new std.fs.Zip({ - id: `${lambdaId}-zip`, - config: { filePath: config.fileName }, - }), - ); + const filePath = config.code.path; + + let lambdaId = config.id; + + if (!lambdaId) { + const filePathHash = crypto + .createHash("BLAKE2s256") + .update(filePath) + .digest("hex") + .slice(0, 8); + + lambdaId = `${config.handler}-${filePathHash}`; + } + + let zipFile: std.fs.ZipFileInstance | std.fs.FileInstance; + + if (config.code.type === "file") { + zipFile = functionGroup.add( + new std.fs.Zip({ + id: `${lambdaId}-zip`, + config: { sourceFilePath: filePath }, + }), + ); + } else { + zipFile = functionGroup.add( + new std.fs.File({ + id: `${lambdaId}-zip`, + config: { filePath }, + }), + ); + } const role = functionGroup.add( new aws.lambda.LambdaIamRole({ @@ -35,13 +62,16 @@ export const lambda = (config: { fileName: string; handler: string }) => { }), ); + const fileName = path.parse(filePath).name; + const lambdaResource = functionGroup.add( new aws.lambda.LambdaFunction({ id: lambdaId, config: { FunctionName: lambdaId, - Handler: `index.${config.handler}`, + Handler: `${fileName}.${config.handler}`, Runtime: "nodejs18.x", + // todo: make this configurable and remove it as a default ReservedConcurrentExecutions: 1, }, dependencies: { diff --git a/packages/aws/test/api-gateway.test.ts b/packages/aws/test/api-gateway.test.ts index 8bb15b0..c3deac0 100644 --- a/packages/aws/test/api-gateway.test.ts +++ b/packages/aws/test/api-gateway.test.ts @@ -12,7 +12,10 @@ beforeEach(() => { test("route resource group idempotency snapshot", () => { const apiResourceGroup = api({ name: "api" }); const fnResourceGroup = lambda({ - fileName: "src/fns/handler.fn.js", + code: { + type: "file", + path: "src/fns/handler.fn.js", + }, handler: "handler.fn.js", }); @@ -28,7 +31,10 @@ test("router provides methods for each HTTP verb", () => { const apiResourceGroup = api({ name: "api" }); const apiRouter = router(apiResourceGroup); const handler = lambda({ - fileName: "src/fns/handler.fn.js", + code: { + type: "file", + path: "src/fns/handler.fn.js", + }, handler: "handler.fn.js", }); diff --git a/packages/cli/src/deploy.ts b/packages/cli/src/deploy.ts index 411e854..f1211a0 100644 --- a/packages/cli/src/deploy.ts +++ b/packages/cli/src/deploy.ts @@ -16,5 +16,7 @@ export async function deploy(entryPoint: string) { ); process.exit(1); } + console.log(err); + process.exit(1); } } diff --git a/packages/esbuild-plugins/src/plugins/function-infra-plugin.ts b/packages/esbuild-plugins/src/plugins/function-infra-plugin.ts index 2e852bc..fe42bd1 100644 --- a/packages/esbuild-plugins/src/plugins/function-infra-plugin.ts +++ b/packages/esbuild-plugins/src/plugins/function-infra-plugin.ts @@ -30,7 +30,7 @@ export function functionInfraPlugin(opts: PluginOpts = {}): Plugin { for (const handlerName of exports) { if (reservedNames.includes(handlerName)) continue; infraCode = infraCode.concat( - `export const ${handlerName} = ${service}({ fileName: "${outFileName}", handler: "${handlerName}", ...config });\n`, + `export const ${handlerName} = ${service}({ code: { type: "file", path: "${outFileName}" }, handler: "${handlerName}", ...config });\n`, ); } diff --git a/packages/std.iac/src/resources/fs/file.ts b/packages/std.iac/src/resources/fs/file.ts new file mode 100644 index 0000000..e92cd98 --- /dev/null +++ b/packages/std.iac/src/resources/fs/file.ts @@ -0,0 +1,50 @@ +import { resource } from "@notation/core"; +import { getSourceSha256 } from "src/utils/hash"; +import * as z from "zod"; +import * as fs from "node:fs/promises"; + +export type FileSchema = { + Key: { filePath: string }; + CreateParams: { filePath: string }; + UpdateParams: { filePath: string }; + ReadResult: void; +}; + +const fileResource = resource({ + type: "std/fs/File", +}); + +export const fileSchema = fileResource.defineSchema({ + filePath: { + valueType: z.string(), + propertyType: "param", + presence: "required", + primaryKey: true, + }, + sourceSha256: { + valueType: z.string(), + propertyType: "param", + presence: "required", + }, + file: { + valueType: z.instanceof(Buffer), + propertyType: "computed", + presence: "required", + }, +} as const); + +export const File = fileSchema.defineOperations({ + setIntrinsicConfig: async ({ config }) => { + const sourceSha256 = await getSourceSha256(config.filePath!); + return { sourceSha256 }; + }, + read: async (config) => { + const file = await fs.readFile(config.filePath); + return { ...config, file }; + }, + create: async () => {}, + update: async () => {}, + delete: async () => {}, +}); + +export type FileInstance = InstanceType; diff --git a/packages/std.iac/src/resources/fs/index.ts b/packages/std.iac/src/resources/fs/index.ts index cbe40c5..1bbaa81 100644 --- a/packages/std.iac/src/resources/fs/index.ts +++ b/packages/std.iac/src/resources/fs/index.ts @@ -1 +1,2 @@ +export * from "./file"; export * from "./zip"; diff --git a/packages/std.iac/src/resources/fs/zip.ts b/packages/std.iac/src/resources/fs/zip.ts index 73e62fa..edd968c 100644 --- a/packages/std.iac/src/resources/fs/zip.ts +++ b/packages/std.iac/src/resources/fs/zip.ts @@ -1,11 +1,13 @@ -import { resource } from "@notation/core"; import * as z from "zod"; +import * as fs from "node:fs/promises"; +import { resource } from "@notation/core"; import { zip } from "src/utils/zip"; +import { getSourceSha256 } from "src/utils/hash"; export type ZipSchema = { - Key: { filePath: string }; - CreateParams: { filePath: string }; - UpdateParams: { filePath: string }; + Key: { sourceFilePath: string }; + CreateParams: { sourceFilePath: string }; + UpdateParams: { sourceFilePath: string }; ReadResult: void; }; @@ -14,36 +16,57 @@ const zipResource = resource({ }); export const zipSchema = zipResource.defineSchema({ - filePath: { + sourceFilePath: { valueType: z.string(), propertyType: "param", presence: "required", primaryKey: true, }, + filePath: { + valueType: z.string(), + propertyType: "param", + presence: "required", + secondaryKey: true, + }, sourceSha256: { valueType: z.string(), propertyType: "param", presence: "required", }, + file: { + valueType: z.instanceof(Buffer), + propertyType: "computed", + presence: "required", + }, } as const); export const Zip = zipSchema.defineOperations({ setIntrinsicConfig: async ({ config }) => { - const sourceSha256 = await zip.getSourceSha256(config.filePath!); - return { sourceSha256 }; + const sourceSha256 = await getSourceSha256(config.sourceFilePath!); + const filePath = `${config.sourceFilePath}.zip`; + return { sourceSha256, filePath }; + }, + read: async (params) => { + try { + const file = await fs.readFile(params.filePath); + return { ...params, file }; + } catch (error: any) { + if (error.code !== "ENOENT") throw error; + await zip.package(params.sourceFilePath, params.filePath); + const file = await fs.readFile(params.filePath); + return { ...params, file }; + } }, create: async (params) => { - await zip.package(params.filePath); + await zip.package(params.sourceFilePath, params.filePath); }, update: async (config) => { - await zip.delete(config.filePath); - await zip.package(config.filePath); + await fs.unlink(config.filePath); + await zip.package(config.sourceFilePath, config.filePath); }, delete: async (config) => { - await zip.delete(config.filePath); + await fs.unlink(config.filePath); }, }); -export const getZip = (filePath: string) => zip.read(filePath); - export type ZipFileInstance = InstanceType; diff --git a/packages/std.iac/src/utils/hash.ts b/packages/std.iac/src/utils/hash.ts new file mode 100644 index 0000000..5a02a38 --- /dev/null +++ b/packages/std.iac/src/utils/hash.ts @@ -0,0 +1,11 @@ +import crypto from "crypto"; +import fs from "node:fs/promises"; + +export const getSourceSha256 = async (filePath: string) => { + const sourceBuffer = await fs.readFile(filePath); + const sourceSha256 = crypto + .createHash("sha256") + .update(sourceBuffer) + .digest("hex"); + return sourceSha256; +}; diff --git a/packages/std.iac/src/utils/zip.ts b/packages/std.iac/src/utils/zip.ts index b4c63de..0a70f5e 100644 --- a/packages/std.iac/src/utils/zip.ts +++ b/packages/std.iac/src/utils/zip.ts @@ -1,41 +1,16 @@ import path from "node:path"; -import fs from "node:fs/promises"; +import * as fs from "node:fs/promises"; import * as fflate from "fflate"; -import crypto from "crypto"; export const zip = { - path: (filePath: string) => `${filePath}.zip`, - - getSourceSha256: async (filePath: string) => { - const sourceBuffer = await fs.readFile(filePath); - const sourceSha256 = crypto - .createHash("sha256") - .update(sourceBuffer) - .digest("hex"); - return sourceSha256; - }, - - read: async (filePath: string) => { - try { - return fs.readFile(zip.path(filePath)); - } catch { - await zip.package(zip.path(filePath)); - return fs.readFile(zip.path(filePath)); - } - }, - - package: async (filePath: string) => { - const inputFile = await fs.readFile(filePath); - const fileName = path.basename(filePath); + package: async (sourceFilePath: string, filePath: string) => { + const inputFile = await fs.readFile(sourceFilePath); + const fileName = path.basename(sourceFilePath); const archive = fflate.zipSync( { [fileName]: inputFile }, // ensure deterministic output { level: 9, mtime: "0/0/00 00:00 PM" }, ); - await fs.writeFile(zip.path(filePath), archive); - }, - - delete: async (filePath: string) => { - await fs.unlink(zip.path(filePath)); + await fs.writeFile(filePath, archive); }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed1f704..175888b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -102,11 +102,11 @@ importers: examples/lambda: dependencies: '@notation/aws': - specifier: ^0.6.0 - version: 0.6.0 + specifier: workspace:* + version: link:../../packages/aws '@notation/cli': - specifier: ^0.7.0 - version: 0.7.0 + specifier: workspace:* + version: link:../../packages/cli packages/aws: dependencies: @@ -604,12 +604,6 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} @@ -622,12 +616,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} @@ -640,12 +628,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} @@ -658,12 +640,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} @@ -676,12 +652,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} @@ -694,12 +664,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} @@ -712,12 +676,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} @@ -730,12 +688,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} @@ -748,12 +700,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} @@ -766,12 +712,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} @@ -784,12 +724,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} @@ -802,12 +736,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} @@ -820,12 +748,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} @@ -838,12 +760,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} @@ -856,12 +772,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} @@ -874,12 +784,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} @@ -892,12 +796,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} @@ -922,12 +820,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} @@ -952,12 +844,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} @@ -970,12 +856,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} @@ -988,12 +868,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} @@ -1006,12 +880,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} @@ -1024,12 +892,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} @@ -1042,52 +904,30 @@ packages: cpu: [x64] os: [win32] - '@fastify/accept-negotiator@1.1.0': - resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==} - engines: {node: '>=14'} - '@fastify/accept-negotiator@2.0.1': resolution: {integrity: sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==} - '@fastify/ajv-compiler@3.6.0': - resolution: {integrity: sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==} - '@fastify/ajv-compiler@4.0.2': resolution: {integrity: sha512-Rkiu/8wIjpsf46Rr+Fitd3HRP+VsxUFDDeag0hs9L0ksfnwx2g7SPQQTFL0E8Qv+rfXzQOxBJnjUB9ITUDjfWQ==} - '@fastify/error@3.4.1': - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - '@fastify/error@4.0.0': resolution: {integrity: sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==} - '@fastify/fast-json-stringify-compiler@4.3.0': - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - '@fastify/fast-json-stringify-compiler@5.0.2': resolution: {integrity: sha512-YdR7gqlLg1xZAQa+SX4sMNzQHY5pC54fu9oC5aYSUqBhyn6fkLkrdtKlpVdCNPlwuUuXA1PjFTEmvMF6ZVXVGw==} '@fastify/forwarded@3.0.0': resolution: {integrity: sha512-kJExsp4JCms7ipzg7SJ3y8DwmePaELHxKYtg+tZow+k0znUTf3cb+npgyqm8+ATZOdmfgfydIebPDWM172wfyA==} - '@fastify/merge-json-schemas@0.1.1': - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - '@fastify/merge-json-schemas@0.2.1': resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==} '@fastify/proxy-addr@5.0.0': resolution: {integrity: sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==} - '@fastify/send@2.1.0': - resolution: {integrity: sha512-yNYiY6sDkexoJR0D8IDy3aRP3+L4wdqCpvx5WP+VtEU58sn7USmKynBzDQex5X42Zzvw2gNzzYgP90UfWShLFA==} - '@fastify/send@3.3.1': resolution: {integrity: sha512-6pofeVwaHN+E/MAofCwDqkWUliE3i++jlD0VH/LOfU8TJlCkMUSgKvA9bawDdVXxjve7XrdYMyDmkiYaoGWEtA==} - '@fastify/static@6.12.0': - resolution: {integrity: sha512-KK1B84E6QD/FcQWxDI2aiUCwHxMJBI1KeCUzm1BwYpPY1b742+jeKruGHP2uOluuM6OkBPI8CIANrXcCRtC2oQ==} - '@fastify/static@8.1.0': resolution: {integrity: sha512-lPb8+1ulvbGSUSQ0/adBDyp/Ye/MX+pBwhkLAr8/GU88kNnJlSu7KXdyW6CCOROcr5BgrqJD01lEOosozFAegw==} @@ -1135,28 +975,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@notation/aws.iac@0.5.0': - resolution: {integrity: sha512-VE2dk+pRG8avtiOlyYyNV9oV+Hfatz0xkMXb/2hI9l5e6FDsdCdFScLd5mhiEtkucbReACql1Wmzb8rpgM/vLg==} - - '@notation/aws@0.6.0': - resolution: {integrity: sha512-iNm7FamBU2C/zEqf+CV7VvDGzRwjkfxY5XSgEaeRTcrKyGOc8tsMUrnO0KNKXnwvLQ3w55s8MS6CFhQX0D6ZaA==} - - '@notation/cli@0.7.0': - resolution: {integrity: sha512-zT3q52KJpwRFESGxQ+cjNT0bpXaOwohEa4Jsumm1GTDHKT6O4PiBnpT5h1/0LAqPDp04+WUzwlKNXylVgtzWDw==} - hasBin: true - - '@notation/core@0.6.0': - resolution: {integrity: sha512-bnmM+s8vLLvEZnEz89RpY6Q8XCL3kDVhpA0/wGM3DVBJ5MmoRGrLd0KGqv3tNhMXGOnAl9GgKBt9FvXbA/ev5g==} - - '@notation/dashboard@0.2.0': - resolution: {integrity: sha512-Jxwx+i3tRy8e02OOb44VJ0hCNMJGMhsLnMlysKO4TemKIqGWDBEzjSa16bS0lF838liwJ6L/MUwggtWop3R03w==} - - '@notation/esbuild-plugins@0.5.0': - resolution: {integrity: sha512-oIIYdrBZxZJ+OmtkJ3y5LmtpqFy1WZ1UtuKZBIRcGOAouLD0TTa+no/nWqagdln5GwOe8gDtmz5sFEBKASu/dQ==} - - '@notation/std.iac@0.5.0': - resolution: {integrity: sha512-O46p1ZDv8Gk5SrUpwwcwUDswhAMkVQW1BaJYt6LnHQs3j8BrPBLIFM5kSFjgds40DbaUZCOL+D0OMZCKaDkbKw==} - '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1632,14 +1450,6 @@ packages: abstract-logging@2.0.1: resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: @@ -1674,10 +1484,6 @@ packages: any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1693,16 +1499,9 @@ packages: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - avvio@8.4.0: - resolution: {integrity: sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==} - avvio@9.1.0: resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==} - aws-jwt-verify@4.0.1: - resolution: {integrity: sha512-kzvi71eD3w/mCpYRUY7cz6DX4bfYihGdI2yV3FYQ2JuZZenqAqDPz0gWj0ew6vlAtdEVBNb7p+Dm2TAIxpVYMA==} - engines: {node: '>=14.0.0'} - aws-jwt-verify@5.0.0: resolution: {integrity: sha512-FQM5EYEm7AnVJ3oeTpvBZQm7hYnpI067Em1oopHBs7cCNAcw8Aw8NFbojFjkNXifsOzyYe1ks+bg7Q9fMsTZSA==} engines: {node: '>=16.0.0'} @@ -1714,10 +1513,6 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} @@ -1757,10 +1552,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1776,10 +1567,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} @@ -1803,10 +1590,6 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - cookie@1.0.2: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} @@ -1883,11 +1666,6 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.24.2: resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} @@ -1928,9 +1706,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - fast-decode-uri-component@1.0.1: resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} @@ -1941,9 +1716,6 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fast-json-stringify@5.16.1: - resolution: {integrity: sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==} - fast-json-stringify@6.0.1: resolution: {integrity: sha512-s7SJE83QKBZwg54dIbD5rCtzOBVD43V1ReWXXYqBgwCwHLYAAT0RQc/FmrQglXqWPpz6omtryJQOau5jI4Nrvg==} @@ -1954,9 +1726,6 @@ packages: resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} engines: {node: '>=6'} - fast-uri@2.4.0: - resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==} - fast-uri@3.0.6: resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} @@ -1964,15 +1733,9 @@ packages: resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true - fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - fastify-plugin@5.0.1: resolution: {integrity: sha512-HCxs+YnRaWzCl+cWRYFnHmeRFyR5GVnJTAaCJQiYzQSDwK9MgJdyAsuL3nh0EWRCYMgQ5MeziymvmAhUHYHDUQ==} - fastify@4.29.0: - resolution: {integrity: sha512-MaaUHUGcCgC8fXQDsDtioaCcag1fmPJ9j64vAKunqZF4aSub040ZGi/ag8NGE2714yREPOKZuHCfpPzuUD3UQQ==} - fastify@5.2.1: resolution: {integrity: sha512-rslrNBF67eg8/Gyn7P2URV8/6pz8kSAscFL4EThZJ8JBMaXacVdVE4hmUcnPNKERl5o/xTiBSLfdowBRhVF1WA==} @@ -1987,9 +1750,6 @@ packages: picomatch: optional: true - fflate@0.8.1: - resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} - fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -2001,10 +1761,6 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-my-way@8.2.2: - resolution: {integrity: sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==} - engines: {node: '>=14'} - find-my-way@9.2.0: resolution: {integrity: sha512-d3uCir8Hmg7W1Ywp8nKf2lJJYU9Nwinvo+1D39Dn09nz65UKXIxUh7j7K8zeWhxqe1WrkS7FJyON/Q/3lPoc6w==} engines: {node: '>=14'} @@ -2017,10 +1773,6 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - fs-extra@11.3.0: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} @@ -2033,9 +1785,6 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2062,11 +1811,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported - globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -2105,25 +1849,13 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - ipaddr.js@2.2.0: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2193,9 +1925,6 @@ packages: engines: {node: '>=6'} hasBin: true - json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - json-schema-ref-resolver@2.0.1: resolution: {integrity: sha512-HG0SIB9X4J8bwbxCbnd5FfPEbcXAJYTi1pBJeP/QPON+w8ovSME8iRG+ElHNxZNX2Qh6eYn1GdzJFS4cDFfx0Q==} @@ -2213,9 +1942,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - light-my-request@5.14.0: - resolution: {integrity: sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==} - light-my-request@6.5.1: resolution: {integrity: sha512-0q82RyxIextuDtkA0UDofhPHIiQ2kmpa7fwElCSlm/8nQl36cDU1Cw+CAO90Es0lReH2HChClKL84I86Nc52hg==} @@ -2316,10 +2042,6 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} @@ -2353,10 +2075,6 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -2383,10 +2101,6 @@ packages: node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - npm-run-path@6.0.0: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} @@ -2399,9 +2113,6 @@ packages: resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} engines: {node: '>=14.0.0'} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} @@ -2417,10 +2128,6 @@ packages: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -2546,16 +2253,9 @@ packages: resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} engines: {node: '>=18'} - process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - process-warning@4.0.1: resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -2566,11 +2266,6 @@ packages: quick-format-unescaped@4.0.4: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} - peerDependencies: - react: ^18.3.1 - react-dom@19.0.0: resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} peerDependencies: @@ -2580,10 +2275,6 @@ packages: resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} engines: {node: '>=0.10.0'} - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} - engines: {node: '>=0.10.0'} - react@19.0.0: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} @@ -2592,10 +2283,6 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -2615,10 +2302,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - ret@0.4.3: - resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} - engines: {node: '>=10'} - ret@0.5.0: resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==} engines: {node: '>=10'} @@ -2641,9 +2324,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex2@3.1.0: - resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} - safe-regex2@4.0.1: resolution: {integrity: sha512-goqsB+bSlOmVX+CiFX2PFc1OV88j5jvBqIM+DgqrucHnUguAUNtiNOs+aTadq2NqsLQ+TQ3UEVG3gtSFcdlkCg==} @@ -2654,15 +2334,9 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - scheduler@0.25.0: resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - secure-json-parse@3.0.2: resolution: {integrity: sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==} @@ -3040,16 +2714,9 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - yoctocolors@2.1.1: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} @@ -3929,153 +3596,102 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 - '@esbuild/aix-ppc64@0.19.12': - optional: true - '@esbuild/aix-ppc64@0.24.2': optional: true '@esbuild/aix-ppc64@0.25.0': optional: true - '@esbuild/android-arm64@0.19.12': - optional: true - '@esbuild/android-arm64@0.24.2': optional: true '@esbuild/android-arm64@0.25.0': optional: true - '@esbuild/android-arm@0.19.12': - optional: true - '@esbuild/android-arm@0.24.2': optional: true '@esbuild/android-arm@0.25.0': optional: true - '@esbuild/android-x64@0.19.12': - optional: true - '@esbuild/android-x64@0.24.2': optional: true '@esbuild/android-x64@0.25.0': optional: true - '@esbuild/darwin-arm64@0.19.12': - optional: true - '@esbuild/darwin-arm64@0.24.2': optional: true '@esbuild/darwin-arm64@0.25.0': optional: true - '@esbuild/darwin-x64@0.19.12': - optional: true - '@esbuild/darwin-x64@0.24.2': optional: true '@esbuild/darwin-x64@0.25.0': optional: true - '@esbuild/freebsd-arm64@0.19.12': - optional: true - '@esbuild/freebsd-arm64@0.24.2': optional: true '@esbuild/freebsd-arm64@0.25.0': optional: true - '@esbuild/freebsd-x64@0.19.12': - optional: true - '@esbuild/freebsd-x64@0.24.2': optional: true '@esbuild/freebsd-x64@0.25.0': optional: true - '@esbuild/linux-arm64@0.19.12': - optional: true - '@esbuild/linux-arm64@0.24.2': optional: true '@esbuild/linux-arm64@0.25.0': optional: true - '@esbuild/linux-arm@0.19.12': - optional: true - '@esbuild/linux-arm@0.24.2': optional: true '@esbuild/linux-arm@0.25.0': optional: true - '@esbuild/linux-ia32@0.19.12': - optional: true - '@esbuild/linux-ia32@0.24.2': optional: true '@esbuild/linux-ia32@0.25.0': optional: true - '@esbuild/linux-loong64@0.19.12': - optional: true - '@esbuild/linux-loong64@0.24.2': optional: true '@esbuild/linux-loong64@0.25.0': optional: true - '@esbuild/linux-mips64el@0.19.12': - optional: true - '@esbuild/linux-mips64el@0.24.2': optional: true '@esbuild/linux-mips64el@0.25.0': optional: true - '@esbuild/linux-ppc64@0.19.12': - optional: true - '@esbuild/linux-ppc64@0.24.2': optional: true '@esbuild/linux-ppc64@0.25.0': optional: true - '@esbuild/linux-riscv64@0.19.12': - optional: true - '@esbuild/linux-riscv64@0.24.2': optional: true '@esbuild/linux-riscv64@0.25.0': optional: true - '@esbuild/linux-s390x@0.19.12': - optional: true - '@esbuild/linux-s390x@0.24.2': optional: true '@esbuild/linux-s390x@0.25.0': optional: true - '@esbuild/linux-x64@0.19.12': - optional: true - '@esbuild/linux-x64@0.24.2': optional: true @@ -4088,9 +3704,6 @@ snapshots: '@esbuild/netbsd-arm64@0.25.0': optional: true - '@esbuild/netbsd-x64@0.19.12': - optional: true - '@esbuild/netbsd-x64@0.24.2': optional: true @@ -4103,85 +3716,52 @@ snapshots: '@esbuild/openbsd-arm64@0.25.0': optional: true - '@esbuild/openbsd-x64@0.19.12': - optional: true - '@esbuild/openbsd-x64@0.24.2': optional: true '@esbuild/openbsd-x64@0.25.0': optional: true - '@esbuild/sunos-x64@0.19.12': - optional: true - '@esbuild/sunos-x64@0.24.2': optional: true '@esbuild/sunos-x64@0.25.0': optional: true - '@esbuild/win32-arm64@0.19.12': - optional: true - '@esbuild/win32-arm64@0.24.2': optional: true '@esbuild/win32-arm64@0.25.0': optional: true - '@esbuild/win32-ia32@0.19.12': - optional: true - '@esbuild/win32-ia32@0.24.2': optional: true '@esbuild/win32-ia32@0.25.0': optional: true - '@esbuild/win32-x64@0.19.12': - optional: true - '@esbuild/win32-x64@0.24.2': optional: true '@esbuild/win32-x64@0.25.0': optional: true - '@fastify/accept-negotiator@1.1.0': {} - '@fastify/accept-negotiator@2.0.1': {} - '@fastify/ajv-compiler@3.6.0': - dependencies: - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - fast-uri: 2.4.0 - '@fastify/ajv-compiler@4.0.2': dependencies: ajv: 8.17.1 ajv-formats: 3.0.1(ajv@8.17.1) fast-uri: 3.0.6 - '@fastify/error@3.4.1': {} - '@fastify/error@4.0.0': {} - '@fastify/fast-json-stringify-compiler@4.3.0': - dependencies: - fast-json-stringify: 5.16.1 - '@fastify/fast-json-stringify-compiler@5.0.2': dependencies: fast-json-stringify: 6.0.1 '@fastify/forwarded@3.0.0': {} - '@fastify/merge-json-schemas@0.1.1': - dependencies: - fast-deep-equal: 3.1.3 - '@fastify/merge-json-schemas@0.2.1': dependencies: dequal: 2.0.3 @@ -4191,14 +3771,6 @@ snapshots: '@fastify/forwarded': 3.0.0 ipaddr.js: 2.2.0 - '@fastify/send@2.1.0': - dependencies: - '@lukeed/ms': 2.0.2 - escape-html: 1.0.3 - fast-decode-uri-component: 1.0.1 - http-errors: 2.0.0 - mime: 3.0.0 - '@fastify/send@3.3.1': dependencies: '@lukeed/ms': 2.0.2 @@ -4207,15 +3779,6 @@ snapshots: http-errors: 2.0.0 mime: 3.0.0 - '@fastify/static@6.12.0': - dependencies: - '@fastify/accept-negotiator': 1.1.0 - '@fastify/send': 2.1.0 - content-disposition: 0.5.4 - fastify-plugin: 4.5.1 - glob: 8.1.0 - p-limit: 3.1.0 - '@fastify/static@8.1.0': dependencies: '@fastify/accept-negotiator': 2.0.1 @@ -4281,70 +3844,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.0 - '@notation/aws.iac@0.5.0': - dependencies: - '@aws-sdk/client-apigatewayv2': 3.749.0 - '@aws-sdk/client-cloudwatch-logs': 3.749.0 - '@aws-sdk/client-eventbridge': 3.749.0 - '@aws-sdk/client-iam': 3.749.0 - '@aws-sdk/client-lambda': 3.749.0 - '@aws-sdk/client-sts': 3.749.0 - '@notation/core': 0.6.0 - '@notation/std.iac': 0.5.0 - '@types/aws-lambda': 8.10.147 - zod: 3.24.2 - transitivePeerDependencies: - - aws-crt - - '@notation/aws@0.6.0': - dependencies: - '@notation/aws.iac': 0.5.0 - '@notation/core': 0.6.0 - '@notation/std.iac': 0.5.0 - '@types/aws-lambda': 8.10.147 - aws-jwt-verify: 4.0.1 - transitivePeerDependencies: - - aws-crt - - '@notation/cli@0.7.0': - dependencies: - '@notation/core': 0.6.0 - '@notation/dashboard': 0.2.0 - '@notation/esbuild-plugins': 0.5.0 - chokidar: 3.6.0 - commander: 11.1.0 - esbuild: 0.19.12 - glob: 10.4.5 - - '@notation/core@0.6.0': - dependencies: - deep-object-diff: 1.1.9 - fs-extra: 11.3.0 - js-base64: 3.7.7 - lodash-es: 4.17.21 - pako: 2.1.0 - zod: 3.24.2 - - '@notation/dashboard@0.2.0': - dependencies: - '@fastify/static': 6.12.0 - chokidar: 3.6.0 - fastify: 4.29.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@notation/esbuild-plugins@0.5.0': - dependencies: - '@notation/core': 0.6.0 - esbuild: 0.19.12 - typescript: 5.7.3 - - '@notation/std.iac@0.5.0': - dependencies: - '@notation/core': 0.6.0 - fflate: 0.8.1 - zod: 3.24.2 - '@pkgjs/parseargs@0.11.0': optional: true @@ -4896,10 +4395,6 @@ snapshots: abstract-logging@2.0.1: {} - ajv-formats@2.1.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 - ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -4925,11 +4420,6 @@ snapshots: any-promise@1.3.0: {} - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -4940,18 +4430,11 @@ snapshots: atomic-sleep@1.0.0: {} - avvio@8.4.0: - dependencies: - '@fastify/error': 3.4.1 - fastq: 1.19.0 - avvio@9.1.0: dependencies: '@fastify/error': 4.0.0 fastq: 1.19.0 - aws-jwt-verify@4.0.1: {} - aws-jwt-verify@5.0.0: {} balanced-match@1.0.2: {} @@ -4960,8 +4443,6 @@ snapshots: dependencies: is-windows: 1.0.2 - binary-extensions@2.3.0: {} - bowser@2.11.0: {} brace-expansion@2.0.1: @@ -5000,18 +4481,6 @@ snapshots: check-error@2.1.1: {} - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -5024,8 +4493,6 @@ snapshots: color-name@1.1.4: {} - commander@11.1.0: {} - commander@13.1.0: {} commander@4.1.1: {} @@ -5040,8 +4507,6 @@ snapshots: convert-source-map@2.0.0: {} - cookie@0.7.2: {} - cookie@1.0.2: {} cross-spawn@7.0.6: @@ -5094,32 +4559,6 @@ snapshots: es-module-lexer@1.6.0: {} - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - esbuild@0.24.2: optionalDependencies: '@esbuild/aix-ppc64': 0.24.2 @@ -5211,8 +4650,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - fast-content-type-parse@1.1.0: {} - fast-decode-uri-component@1.0.1: {} fast-deep-equal@3.1.3: {} @@ -5225,16 +4662,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-json-stringify@5.16.1: - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) - fast-deep-equal: 3.1.3 - fast-uri: 2.4.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.4.1 - fast-json-stringify@6.0.1: dependencies: '@fastify/merge-json-schemas': 0.2.1 @@ -5250,37 +4677,14 @@ snapshots: fast-redact@3.5.0: {} - fast-uri@2.4.0: {} - fast-uri@3.0.6: {} fast-xml-parser@4.4.1: dependencies: strnum: 1.0.5 - fastify-plugin@4.5.1: {} - fastify-plugin@5.0.1: {} - fastify@4.29.0: - dependencies: - '@fastify/ajv-compiler': 3.6.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.4.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.16.1 - find-my-way: 8.2.2 - light-my-request: 5.14.0 - pino: 9.6.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.4.1 - secure-json-parse: 2.7.0 - semver: 7.7.1 - toad-cache: 3.7.0 - fastify@5.2.1: dependencies: '@fastify/ajv-compiler': 4.0.2 @@ -5307,8 +4711,6 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - fflate@0.8.1: {} - fflate@0.8.2: {} figures@6.1.0: @@ -5319,12 +4721,6 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-my-way@8.2.2: - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 3.1.0 - find-my-way@9.2.0: dependencies: fast-deep-equal: 3.1.3 @@ -5341,8 +4737,6 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - forwarded@0.2.0: {} - fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 @@ -5361,8 +4755,6 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true @@ -5395,14 +4787,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 2.0.0 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - globals@11.12.0: {} globby@11.1.0: @@ -5438,21 +4822,10 @@ snapshots: ignore@5.3.2: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - inherits@2.0.4: {} - ipaddr.js@1.9.1: {} - ipaddr.js@2.2.0: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -5502,10 +4875,6 @@ snapshots: jsesc@3.1.0: {} - json-schema-ref-resolver@1.0.1: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-ref-resolver@2.0.1: dependencies: dequal: 2.0.3 @@ -5524,12 +4893,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - light-my-request@5.14.0: - dependencies: - cookie: 0.7.2 - process-warning: 3.0.0 - set-cookie-parser: 2.7.1 - light-my-request@6.5.1: dependencies: cookie: 1.0.2 @@ -5603,10 +4966,6 @@ snapshots: lodash.startcase@4.4.0: {} - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - loupe@3.1.3: {} lru-cache@10.4.3: {} @@ -5634,10 +4993,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -5658,8 +5013,6 @@ snapshots: node-releases@2.0.19: {} - normalize-path@3.0.0: {} - npm-run-path@6.0.0: dependencies: path-key: 4.0.0 @@ -5669,10 +5022,6 @@ snapshots: on-exit-leak-free@2.1.2: {} - once@1.4.0: - dependencies: - wrappy: 1.0.2 - os-tmpdir@1.0.2: {} outdent@0.5.0: {} @@ -5685,10 +5034,6 @@ snapshots: dependencies: p-try: 2.2.0 - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -5783,27 +5128,14 @@ snapshots: dependencies: parse-ms: 4.0.0 - process-warning@3.0.0: {} - process-warning@4.0.1: {} - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - punycode@2.3.1: {} queue-microtask@1.2.3: {} quick-format-unescaped@4.0.4: {} - react-dom@18.3.1(react@18.3.1): - dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 - react-dom@19.0.0(react@19.0.0): dependencies: react: 19.0.0 @@ -5811,10 +5143,6 @@ snapshots: react-refresh@0.14.2: {} - react@18.3.1: - dependencies: - loose-envify: 1.4.0 - react@19.0.0: {} read-yaml-file@1.1.0: @@ -5824,10 +5152,6 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - readdirp@4.1.2: {} real-require@0.2.0: {} @@ -5838,8 +5162,6 @@ snapshots: resolve-from@5.0.0: {} - ret@0.4.3: {} - ret@0.5.0: {} reusify@1.0.4: {} @@ -5877,10 +5199,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex2@3.1.0: - dependencies: - ret: 0.4.3 - safe-regex2@4.0.1: dependencies: ret: 0.5.0 @@ -5889,14 +5207,8 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - scheduler@0.25.0: {} - secure-json-parse@2.7.0: {} - secure-json-parse@3.0.2: {} semver@6.3.1: {} @@ -6225,12 +5537,8 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} - yallist@3.1.1: {} - yocto-queue@0.1.0: {} - yoctocolors@2.1.1: {} zod@3.24.2: {}